이호영 이호영 2023-08-01
feat:pms-#3305 발송결과 / 예약관리에 api 신청 안한 회원은 노출 안되게 처리 완료
@3153e6886e5be293a40c6e6c41fd8dedf3c22de5
src/main/java/itn/let/kakao/user/sent/web/KakaoSentController.java
--- src/main/java/itn/let/kakao/user/sent/web/KakaoSentController.java
+++ src/main/java/itn/let/kakao/user/sent/web/KakaoSentController.java
@@ -162,6 +162,7 @@
 		
 		//전체 발송 리스트 불러오기
 		List<KakaoSentVO> resultAllSentList = kakaoSentService.selectAllKakaoSentList(kakaoSentVO);
+		System.out.println("??");
 		model.addAttribute("resultAllSentList", resultAllSentList);
 		model.addAttribute("resultAllSentCnt", resultAllSentList.size());
 		
src/main/java/itn/let/mjo/apikey/service/ApiKeyMngService.java
--- src/main/java/itn/let/mjo/apikey/service/ApiKeyMngService.java
+++ src/main/java/itn/let/mjo/apikey/service/ApiKeyMngService.java
@@ -37,5 +37,7 @@
 
 	//REST API 신청상태
 	public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO) throws Exception;
+
+	public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception;
 	
 }
(No newline at end of file)
src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngDAO.java
--- src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngDAO.java
+++ src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngDAO.java
@@ -55,5 +55,9 @@
 	public List<ApiKeyVO> selectApiKeyApplyStatus(ApiKeyVO apiKeyVO){
         return (List<ApiKeyVO>) list("ApiKeyMngDAO.selectApiKeyApplyStatus", apiKeyVO);
     }
+
+	public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) {
+		return (int) select("ApiKeyMngDAO.selectMberApiKeyChk", apiKeyVO);
+	}
 	
 }
(No newline at end of file)
src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngServiceImpl.java
--- src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngServiceImpl.java
+++ src/main/java/itn/let/mjo/apikey/service/impl/ApiKeyMngServiceImpl.java
@@ -42,6 +42,11 @@
 	}
 	
 	@Override
+	public int selectMberApiKeyChk(ApiKeyVO apiKeyVO) throws Exception {
+		return apiKeyMngDAO.selectMberApiKeyChk(apiKeyVO);
+	}
+	
+	@Override
 	public void deleteApiKey(ApiKeyVO apiKeyVO) throws Exception {
 		apiKeyMngDAO.deleteApiKey(apiKeyVO);
 		
 
src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentCntVO.java (added)
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentCntVO.java
@@ -0,0 +1,46 @@
+package itn.let.mjo.msgsent.service;
+
+import itn.let.uss.umt.service.UserDefaultVO;
+
+public class MjonMsgSentCntVO extends UserDefaultVO{
+
+	private static final long serialVersionUID = 1L;
+	
+
+	
+
+	// 각 통계별 총 건수 
+	public int totCnt;// 전체 건수 
+	
+	// 각 통계별 성공, 실패 건수 처리 
+	public int waitCnt;// 전체 대기 건수 
+	public int succCnt;// 전체 성공 건수 
+	public int failCnt;// 전체 실패 건수 
+	
+	
+	public int getTotCnt() {
+		return totCnt;
+	}
+	public void setTotCnt(int totCnt) {
+		this.totCnt = totCnt;
+	}
+	public int getWaitCnt() {
+		return waitCnt;
+	}
+	public void setWaitCnt(int waitCnt) {
+		this.waitCnt = waitCnt;
+	}
+	public int getSuccCnt() {
+		return succCnt;
+	}
+	public void setSuccCnt(int succCnt) {
+		this.succCnt = succCnt;
+	}
+	public int getFailCnt() {
+		return failCnt;
+	}
+	public void setFailCnt(int failCnt) {
+		this.failCnt = failCnt;
+	}
+	
+}
src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
@@ -76,6 +76,8 @@
 
 	private String msgId;		//문자아이디
 	private String atchFiles; 		// 그림문자 파일정보
+	
+	private String sendKind; 		// 그림문자 파일정보
 
 	public String getAtchFiles() {
 		return atchFiles;
@@ -420,6 +422,13 @@
 	public void setDelayCompleteYn(String delayCompleteYn) {
 		this.delayCompleteYn = delayCompleteYn;
 	}
+	public String getSendKind() {
+		return sendKind;
+	}
+	public void setSendKind(String sendKind) {
+		this.sendKind = sendKind;
+	}
+	
 
 
 }
src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
@@ -72,10 +72,12 @@
 		if(listType.equals("groupList")) {//전송건별 리스트 불러오기
 			
 			resultList = mjonMsgSentDAO.selectAllMsgSentList(mjonMsgSentVO);
+			System.out.println("=====");
 			
 		}else {//개인별 리스트 불러오기
 			
 			resultList = mjonMsgSentDAO.selectAllPrivateMsgSentList(mjonMsgSentVO);
+			System.out.println("====================");
 			
 		}
 		
src/main/java/itn/let/mjo/msgsent/web/MjonMsgSentController.java
--- src/main/java/itn/let/mjo/msgsent/web/MjonMsgSentController.java
+++ src/main/java/itn/let/mjo/msgsent/web/MjonMsgSentController.java
@@ -7,6 +7,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -40,6 +41,9 @@
 import itn.let.mjo.addr.service.AddrGroupVO;
 import itn.let.mjo.addr.service.AddrService;
 import itn.let.mjo.addr.service.AddrVO;
+import itn.let.mjo.apikey.service.ApiKeyMngService;
+import itn.let.mjo.apikey.service.ApiKeyVO;
+import itn.let.mjo.msgsent.service.MjonMsgSentCntVO;
 import itn.let.mjo.msgsent.service.MjonMsgSentService;
 import itn.let.mjo.msgsent.service.MjonMsgSentVO;
 
@@ -67,6 +71,11 @@
     
     @Resource(name = "KakaoSentService")
 	private KakaoSentService kakaoSentService;
+	
+	//api key 정보
+	@Resource(name = "apiKeyMngService")
+    private ApiKeyMngService apiKeyMngService;
+
     
 private static final Logger logger = LoggerFactory.getLogger(MjonMsgSentController.class);
 	
@@ -90,7 +99,6 @@
 		}
     	
     	mjonMsgSentVO.setUserId(userId);
-    	
     	
     	/*
     	//전체 발송 건수 통계 불러오기
@@ -119,31 +127,83 @@
     	//전체 발송 건수 통계 불러오기
     	mjonMsgSentVO.setMsgType("");
     	List<MjonMsgSentVO> totalMsgCnt = mjonMsgSentService.selectDetailMsgSentCntMix(mjonMsgSentVO);
-    	model.addAttribute("totalMsgCnt", totalMsgCnt);
-
-    	List<MjonMsgSentVO> smsMsgCnt = new ArrayList<MjonMsgSentVO>();
-    	List<MjonMsgSentVO> lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
-    	List<MjonMsgSentVO> mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
     	
+    	// H:홈페이지, A:API 로 sms, lms, mms 나누는 영역
+    	List<MjonMsgSentVO> H_totalMsgCnt = totalMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonMsgSentVO> H_smsMsgCnt = new ArrayList<MjonMsgSentVO>();
+    	List<MjonMsgSentVO> H_lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
+    	List<MjonMsgSentVO> H_mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
 
-    	totalMsgCnt.forEach(t->{
+    	List<MjonMsgSentVO> A_totalMsgCnt = totalMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonMsgSentVO> A_smsMsgCnt = new ArrayList<MjonMsgSentVO>();
+    	List<MjonMsgSentVO> A_lmsMsgCnt = new ArrayList<MjonMsgSentVO>();
+    	List<MjonMsgSentVO> A_mmsMsgCnt = new ArrayList<MjonMsgSentVO>();
+
+    	System.out.println(" ::H_totalMsgCnt :: "+ H_totalMsgCnt.size());
+    	System.out.println(" ::A_totalMsgCnt :: "+ A_totalMsgCnt.size());
+
+    	H_totalMsgCnt.forEach(t->{
     		if (Integer.parseInt(t.getFilePath1())>0) {
-    			smsMsgCnt.add(t);
+    			H_smsMsgCnt.add(t);
     		} else if (Integer.parseInt(t.getFilePath2())>0) {
-    			lmsMsgCnt.add(t);
+    			H_lmsMsgCnt.add(t);
     		} else if (Integer.parseInt(t.getFilePath3())>0) {
-    			mmsMsgCnt.add(t);
+    			H_mmsMsgCnt.add(t);
     		}
     	});
     	
-    	//단문 성공건, 실패건 불러오기    	
-    	model.addAttribute("smsMsgCnt", smsMsgCnt);
+    	A_totalMsgCnt.forEach(t->{
+    		if (Integer.parseInt(t.getFilePath1())>0) {
+    			A_smsMsgCnt.add(t);
+    		} else if (Integer.parseInt(t.getFilePath2())>0) {
+    			A_lmsMsgCnt.add(t);
+    		} else if (Integer.parseInt(t.getFilePath3())>0) {
+    			A_mmsMsgCnt.add(t);
+    		}
+    	});
     	
-    	//장문 성공건, 실패건 불러오기
-    	model.addAttribute("lmsMsgCnt", lmsMsgCnt);
     	
-    	//그림문자 성공건, 실패건 불러오기
-    	model.addAttribute("mmsMsgCnt", mmsMsgCnt);
+    	/* 
+    	 * 홈페이지에서 보낸 데이터 LIST
+    	 * SEND_KIND = "H"
+    	 * */
+    	// 전체 영역
+    	model.addAttribute("H_allSentCntVO", this.getResultCntProc(H_totalMsgCnt));
+    	// 전체 단문(SMS)
+    	model.addAttribute("H_smsSentCntVO", this.getResultCntProc(H_smsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("H_lmsSentCntVO", this.getResultCntProc(H_lmsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("H_mmsSentCntVO", this.getResultCntProc(H_mmsMsgCnt));
+    	
+    	
+    	/* ==================================================================================== */
+    	
+    	
+    	/* 
+    	 * 홈페이지에서 보낸 데이터 LIST
+    	 * SEND_KIND = "A"
+    	 * */
+    	// 전체 영역
+    	model.addAttribute("A_allSentCntVO", this.getResultCntProc(A_totalMsgCnt));
+    	// 전체 단문(SMS)
+    	model.addAttribute("A_smsSentCntVO", this.getResultCntProc(A_smsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("A_lmsSentCntVO", this.getResultCntProc(A_lmsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("A_mmsSentCntVO", this.getResultCntProc(A_mmsMsgCnt));
+    	
+    	
+    	
+    	 /*<isEqual prepend="AND" property="searchCondition" compareValue="2">
+         a.mber_nm LIKE CONCAT('%',#searchKeyword#,'%')  
+         </isEqual>
+         */
+    	ApiKeyVO apiKeyVO = new ApiKeyVO();
+    	apiKeyVO.setMberId(userId);
+		model.addAttribute("appMgmt", apiKeyMngService.selectMberApiKeyChk(apiKeyVO) > 0 ? true : false);
+    	
+    	
     	
     	
     	// 검색 리스트 불러오기
@@ -171,8 +231,48 @@
     	
 		return "web/msgsent/MsgSentView";
 	}
+
 	
-    /**
+    /** 
+     * @methodName	: getResultCntProc 
+     * @author		: 이호영
+     * @date		: 2023.07.26 
+     * @description	: MsgSentView.jsp에서 JSTL로 계산하는 것을 JAVA로 분리 
+     * @param msgCnt
+     * @param smsMsgCnt
+     * @param lmsMsgCnt
+     * @param mmsMsgCnt
+     * @return 
+     */
+    private MjonMsgSentCntVO getResultCntProc(List<MjonMsgSentVO> msgCnt) {
+//    	MjonMsgSentCntVO mjonSentCntVO = new MjonMsgSentCntVO();
+    	MjonMsgSentCntVO cntVO = new MjonMsgSentCntVO();
+    	
+
+		/*    	 
+		 * 전체 통계
+		 * */
+    	// 전체 대기 갯수
+    	cntVO.setWaitCnt(msgCnt.stream()
+    			.filter(f->"W".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+    	// 전체 성공 갯수
+    	cntVO.setSuccCnt(msgCnt.stream()
+    			.filter(f->"S".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+    	// 전체 실패 갯수
+    	cntVO.setFailCnt(msgCnt.stream()
+    			.filter(f->"F".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+
+    	// 전체 갯수 구하기
+    	cntVO.setTotCnt(cntVO.getWaitCnt() + cntVO.getSuccCnt() + cntVO.getFailCnt());
+
+    	
+		return cntVO;
+	}
+
+	/**
      * 발송관리 탭 리스트 화면 
      * @param searchVO
      * @param model
 
src/main/java/itn/let/mjo/reservmsg/service/MjonMsgReservCntVO.java (added)
+++ src/main/java/itn/let/mjo/reservmsg/service/MjonMsgReservCntVO.java
@@ -0,0 +1,56 @@
+package itn.let.mjo.reservmsg.service;
+
+import itn.let.uss.umt.service.UserDefaultVO;
+
+public class MjonMsgReservCntVO extends UserDefaultVO{
+
+	private static final long serialVersionUID = 1L;
+	
+
+	
+
+	// 각 통계별 총 건수 
+	public int totCnt;// 전체 건수 
+	
+	// 각 통계별 성공, 실패 건수 처리 
+	public int waitCnt;// 대기 건수 
+	public int succCnt;// 성공 건수 
+	public int failCnt;// 실패 건수 
+	public int cnclCnt;// 예약취소 건수
+	
+	
+	public int getTotCnt() {
+		return totCnt;
+	}
+	public void setTotCnt(int totCnt) {
+		this.totCnt = totCnt;
+	}
+	public int getWaitCnt() {
+		return waitCnt;
+	}
+	public void setWaitCnt(int waitCnt) {
+		this.waitCnt = waitCnt;
+	}
+	public int getSuccCnt() {
+		return succCnt;
+	}
+	public void setSuccCnt(int succCnt) {
+		this.succCnt = succCnt;
+	}
+	public int getFailCnt() {
+		return failCnt;
+	}
+	public void setFailCnt(int failCnt) {
+		this.failCnt = failCnt;
+	}
+	public int getCnclCnt() {
+		return cnclCnt;
+	}
+	public void setCnclCnt(int cnclCnt) {
+		this.cnclCnt = cnclCnt;
+	}
+
+
+	
+	
+}
src/main/java/itn/let/mjo/reservmsg/service/MjonResvMsgVO.java
--- src/main/java/itn/let/mjo/reservmsg/service/MjonResvMsgVO.java
+++ src/main/java/itn/let/mjo/reservmsg/service/MjonResvMsgVO.java
@@ -57,6 +57,8 @@
 	private int orderByCode;		// 문자타입 정렬번호
 	private String strReqDate;		// 문자열 타입 발송시간
 	
+	private String sendKind;		// 문자열 타입 발송시간
+	
 	public int getOrderByCode() {
 		return orderByCode;
 	}
@@ -297,4 +299,13 @@
 	public void setReserveYn(String reserveYn) {
 		this.reserveYn = reserveYn;
 	}
+	public String getSendKind() {
+		return sendKind;
+	}
+	public void setSendKind(String sendKind) {
+		this.sendKind = sendKind;
+	}
+	
+	
+	
 }
src/main/java/itn/let/mjo/reservmsg/web/MjonReservMsgController.java
--- src/main/java/itn/let/mjo/reservmsg/web/MjonReservMsgController.java
+++ src/main/java/itn/let/mjo/reservmsg/web/MjonReservMsgController.java
@@ -8,6 +8,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -42,6 +43,11 @@
 import itn.com.utl.fcc.service.EgovStringUtil;
 import itn.let.kakao.user.sent.service.KakaoSentService;
 import itn.let.kakao.user.sent.service.KakaoSentVO;
+import itn.let.mjo.apikey.service.ApiKeyMngService;
+import itn.let.mjo.apikey.service.ApiKeyVO;
+import itn.let.mjo.msgsent.service.MjonMsgSentCntVO;
+import itn.let.mjo.msgsent.service.MjonMsgSentVO;
+import itn.let.mjo.reservmsg.service.MjonMsgReservCntVO;
 import itn.let.mjo.reservmsg.service.MjonReservMsgService;
 import itn.let.mjo.reservmsg.service.MjonResvMsgVO;
 
@@ -63,6 +69,10 @@
     
     @Resource(name = "KakaoSentService")
 	private KakaoSentService kakaoSentService;
+	
+	//api key 정보
+	@Resource(name = "apiKeyMngService")
+    private ApiKeyMngService apiKeyMngService;
     
     
     private static final Logger logger = LoggerFactory.getLogger(MjonReservMsgController.class);
@@ -91,24 +101,77 @@
     	//전체 발송 건수 통계 불러오기
     	mjonResvMsgVO.setMsgType("");
     	List<MjonResvMsgVO> totalMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);//mjonReservMsgService.selectTotalMsgCnt(mjonResvMsgVO);
+    	
+    	List<MjonResvMsgVO> H_totalMsgCnt = totalMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonResvMsgVO> A_totalMsgCnt = totalMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
+    	
     	model.addAttribute("totalMsgCnt", totalMsgCnt);
     	
     	//단문 성공건, 실패건 불러오기
     	mjonResvMsgVO.setMsgType("4");
     	List<MjonResvMsgVO> smsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
+
+    	List<MjonResvMsgVO> H_smsMsgCnt = smsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonResvMsgVO> A_smsMsgCnt = smsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
+    	
     	model.addAttribute("smsMsgCnt", smsMsgCnt);
     	
     	//장문 성공건, 실패건 불러오기
     	mjonResvMsgVO.setMsgType("6");
     	mjonResvMsgVO.setFileCnt("0");
     	List<MjonResvMsgVO> lmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
+
+    	List<MjonResvMsgVO> H_lmsMsgCnt = lmsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonResvMsgVO> A_lmsMsgCnt = lmsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
     	model.addAttribute("lmsMsgCnt", lmsMsgCnt);
     	
     	//그림문자 성공건, 실패건 불러오기
     	mjonResvMsgVO.setMsgType("6");
     	mjonResvMsgVO.setFileCnt("1");
     	List<MjonResvMsgVO> mmsMsgCnt = mjonReservMsgService.selectDetailMsgCnt(mjonResvMsgVO);
+    	
+
+    	List<MjonResvMsgVO> H_mmsMsgCnt = mmsMsgCnt.stream().filter(t -> "H".equals(t.getSendKind())).collect(Collectors.toList());
+    	List<MjonResvMsgVO> A_mmsMsgCnt = mmsMsgCnt.stream().filter(t -> "A".equals(t.getSendKind())).collect(Collectors.toList());
     	model.addAttribute("mmsMsgCnt", mmsMsgCnt);
+
+    	
+
+    	/* 
+    	 * 홈페이지에서 보낸 데이터 LIST
+    	 * SEND_KIND = "H"
+    	 * */
+    	// 전체 영역
+    	model.addAttribute("H_allSentCntVO", this.getResultCntProc(H_totalMsgCnt));
+    	// 전체 단문(SMS)
+    	model.addAttribute("H_smsSentCntVO", this.getResultCntProc(H_smsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("H_lmsSentCntVO", this.getResultCntProc(H_lmsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("H_mmsSentCntVO", this.getResultCntProc(H_mmsMsgCnt));
+    	
+    	
+    	/* ==================================================================================== */
+    	
+    	
+    	/* 
+    	 * 홈페이지에서 보낸 데이터 LIST
+    	 * SEND_KIND = "A"
+    	 * */
+    	// 전체 영역
+    	model.addAttribute("A_allSentCntVO", this.getResultCntProc(A_totalMsgCnt));
+    	// 전체 단문(SMS)
+    	model.addAttribute("A_smsSentCntVO", this.getResultCntProc(A_smsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("A_lmsSentCntVO", this.getResultCntProc(A_lmsMsgCnt));
+    	// 전체 장문(LMS)
+    	model.addAttribute("A_mmsSentCntVO", this.getResultCntProc(A_mmsMsgCnt));
+
+    	ApiKeyVO apiKeyVO = new ApiKeyVO();
+    	apiKeyVO.setMberId(userId);
+		model.addAttribute("appMgmt", apiKeyMngService.selectMberApiKeyChk(apiKeyVO) > 0 ? true : false);
+    	
+//    	model.addAttribute("mmsMsgCnt", mmsMsgCnt);
     	
     	// 검색 리스트 불러오기
 		if(mjonResvMsgVO.getPageUnit() != 10) {
@@ -155,6 +218,52 @@
 		return "web/reservedmsg/ReservedMsgView";
 	}
 	
+	
+	
+    /** 
+     * @methodName	: getResultCntProc 
+     * @author		: 이호영
+     * @date		: 2023.07.26 
+     * @description	: MsgSentView.jsp에서 JSTL로 계산하는 것을 JAVA로 분리 
+     * @param msgCnt
+     * @param smsMsgCnt
+     * @param lmsMsgCnt
+     * @param mmsMsgCnt
+     * @return 
+     */
+    private MjonMsgReservCntVO getResultCntProc(List<MjonResvMsgVO> msgCnt) {
+//    	MjonMsgSentCntVO mjonSentCntVO = new MjonMsgSentCntVO();
+    	MjonMsgReservCntVO cntVO = new MjonMsgReservCntVO();
+    	
+
+		/*    	 
+		 * 전체 통계
+		 * */
+    	// 대기 갯수
+    	cntVO.setWaitCnt(msgCnt.stream()
+    			.filter(f->"W".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+    	// 성공 갯수
+    	cntVO.setSuccCnt(msgCnt.stream()
+    			.filter(f->"S".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+    	// 실패 갯수
+    	cntVO.setFailCnt(msgCnt.stream()
+    			.filter(f->"F".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+    	// 예약취소 갯수
+    	cntVO.setCnclCnt(msgCnt.stream()
+    			.filter(f->"C".equals(f.getMsgResultSts()))
+    			.mapToInt(t -> Integer.parseInt(t.getMsgResultCnt())).sum());
+
+    	// 전체 갯수 구하기
+    	cntVO.setTotCnt(cntVO.getWaitCnt() + cntVO.getSuccCnt() + cntVO.getFailCnt() + cntVO.getCnclCnt());
+
+    	
+		return cntVO;
+	}
+
+	
     /**
      * 예약관리 탭 리스트 화면 
      * @param searchVO
@@ -164,7 +273,7 @@
      */
 	@RequestMapping(value= {"/web/mjon/reservmsg/selectReservMsgListViewAjax.do"})
 	public String selectReservMsgListViewAjax(@ModelAttribute("searchVO") MjonResvMsgVO mjonResvMsgVO, ModelMap model) throws Exception{
-		
+
 		//로그인 권한정보 불러오기
     	LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
     	String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
src/main/java/itn/let/uat/uia/web/EgovMypageRESTAPIController.java
--- src/main/java/itn/let/uat/uia/web/EgovMypageRESTAPIController.java
+++ src/main/java/itn/let/uat/uia/web/EgovMypageRESTAPIController.java
@@ -195,7 +195,7 @@
 		
 		List<ApiKeyVO> resultList = new ArrayList<ApiKeyVO>();
 		resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO);
-		
+		System.out.println("=============");
 		if (resultList.size()>0) {
 			model.addAttribute("apiVO", resultList.get(0));
 			
src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiKeyMng_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiKeyMng_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiKeyMng_SQL_Mysql.xml
@@ -84,6 +84,16 @@
   			</isEmpty>  			
 	        
     </select>    
+    <select id="ApiKeyMngDAO.selectMberApiKeyChk" parameterClass="apiKeyVO" resultClass="int">
+		SELECT
+			COUNT(*)
+		FROM lettngnrlmber_access_key b
+			, lettngnrlmber a
+		WHERE b.MBER_ID=a.MBER_ID
+  			AND (a.MBER_STTUS = 'Y' OR a.MBER_STTUS = 'B')
+			AND b.USE_YN = 'Y'
+			AND b.mber_id = #mberId#  
+    </select>    
 
 	<update id="ApiKeyMngDAO.deleteApiKey" parameterClass="apiKeyVO">
 		UPDATE lettngnrlmber_access_key 
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml
@@ -41,6 +41,7 @@
 			, A0.RSLT_CODE							AS rsltCode
 			, A0.RSLT_CODE2							AS rsltCode2
 			, A0.AGENT_CODE							AS agentCode
+			, A0.SEND_KIND							AS sendKind
 		FROM
 			( SELECT
 				A.MSG_ID
@@ -48,6 +49,7 @@
 				, A.MSG_SEQ
 				, A.CUR_STATE
 				, A.SENT_DATE
+				, B.SEND_KIND
 				, (
 					CASE
 						WHEN A.RESERVE_C_YN = 'Y'
@@ -214,6 +216,7 @@
 		         AGENT_CODE AS agentCode,
 		         RESERVE_C_YN AS reserveCYn,
 		         CANCELDATE AS cancelDate,
+		         SEND_KIND as sendKind,
 				CASE
 					WHEN RESERVE_C_YN = 'Y'
 					THEN '예약취소'
@@ -253,7 +256,8 @@
 		                 MGD.CANCELDATE,
 		                 MD.CUR_STATE,
 		                 MD.RSLT_CODE,
-		                 MD.RSLT_CODE2
+		                 MD.RSLT_CODE2,
+						 MGD.SEND_KIND
 		         FROM    mj_msg_data MD
 		                 INNER JOIN MJ_MSG_GROUP_DATA MGD
 		                 ON      MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
@@ -322,6 +326,9 @@
 		 		    	AND 	 CALL_FROM = #searchKeyword#
 			 	    </isEqual>
 				</isNotEmpty>
+				<isNotEmpty property="searchCondition_01">
+					AND SEND_KIND = #searchCondition_01#
+				</isNotEmpty>
 				<isNotEmpty property="startDate">
 					<![CDATA[ 
 						AND 	DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
@@ -25,8 +25,8 @@
 			
             , sum(if(A0.tab1=0,0,1)) as filePath1		/*	단문여부	*/            
             , sum(if(A0.tab2=0,0,1)) as filePath2		/*	장문여부	*/
-            , sum(if(A0.tab3=0,0,1)) as filePath3		/*	그림여부	*/
-                 			
+            , sum(if(A0.tab3=0,0,1)) as filePath3		/*	그림여부	*/ 
+			, SEND_KIND as sendKind
 		FROM(
 			SELECT
 				A.MSG_ID
@@ -39,7 +39,7 @@
 				, A.RSLT_CODE2
 				, A.AGENT_CODE
 				, B.EACH_PRICE
-				
+				, B.SEND_KIND
                 , if (A.MSG_TYPE= '4' AND B.MSG_TYPE= '4'
                 	,'01','00') AS tab1
                 , if (A.MSG_TYPE= '6' AND B.MSG_TYPE= '6' AND B.FILE_CNT = '0'
@@ -264,6 +264,7 @@
 			, msgTypeName					 AS msgTypeName
 			, orderByCode					 AS orderByCode
 			, RESULT						 AS msgResult
+			, sendKind						 AS sendKind
 		FROM
 			( SELECT
 				B.USER_ID
@@ -287,6 +288,10 @@
 				, A.CUR_STATE
 				, A.RSLT_CODE
 				, A.RSLT_CODE2
+				, CASE
+					WHEN B.SEND_KIND = 'H' THEN 'WEB'
+					ELSE 'API'
+				END as sendKind
 				, CASE
 					WHEN B.MSG_TYPE = '6'
 						AND B.FILE_CNT > 0
@@ -394,6 +399,9 @@
 					AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
 				</isEqual>
 			</isNotEmpty>
+			<isNotEmpty property="searchCondition_01">
+				AND sendKind = #searchCondition_01#
+			</isNotEmpty>
 			<isNotEmpty property="startDate">
 				<![CDATA[ 
 					AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
@@ -462,6 +470,7 @@
 			, CANCELDATE							 AS cancelDate
 			, MSG_ID								 AS msgId
 			, RESULT								 AS msgResult
+			, sendKind
 		FROM
 			(SELECT
 				MGD.USER_ID
@@ -487,6 +496,7 @@
 				, MD.CUR_STATE
 				, MD.RSLT_CODE
 				, MD.RSLT_CODE2
+				, CASE WHEN MGD.SEND_KIND = 'H' THEN 'WEB' ELSE 'API' END as sendKind
 				,(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS RESULT
 			FROM
 				mj_msg_data MD
src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp
--- src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp
+++ src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp
@@ -4,6 +4,7 @@
 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
 <script language=javascript>
 $(document).ready(function(){
+	usrDeptChk();
 	
 });
 
@@ -39,7 +40,11 @@
 		   }
 		});		
 	}    
+	
+
+	
 }
+
 
 /* API KEY 실제 DB 삭제 - 임시 */
 function fn_delete_real(p_accessNo){
@@ -220,6 +225,8 @@
 }
 
 </script>
+
+
 <form id="checkForm" name="checkForm">
 	<input type="hidden" id="mberId" value="<c:out value="${mberId }" />" />
 </form>
src/main/webapp/WEB-INF/jsp/web/api/top_tepMenu.jsp
--- src/main/webapp/WEB-INF/jsp/web/api/top_tepMenu.jsp
+++ src/main/webapp/WEB-INF/jsp/web/api/top_tepMenu.jsp
@@ -7,31 +7,94 @@
 	
 	// 현재 url 추출
 	var url = window.location.pathname;
-// 	console.log(url);
 	// 현재 url에서 uri만 추출
 	var lastPart = url.split('/').pop();
-// 	console.log(lastPart);
+
+	
 	/*   
 	 * top 메뉴중 onclick에 있는 uri을 가져와
 	 * 현재 호출된 페이지와 uri와 비교해서 맞다면   
 	 * active로 활성화 시킴              
 	 */
     $('.tabType4 .tab').each(function(index) {
-        var onclickAttr = $(this).children("button").attr("onclick");
-//         console.log("Button " + (index + 1) + " onclick: " + onclickAttr);
-        if(onclickAttr.indexOf(lastPart) > -1){
+        var idAttr = $(this).children("button").attr("id");
+        idAttr += '.do';
+
+        if(idAttr.indexOf(lastPart) > -1){
         	$(this).addClass('active');
         }
     });
-	
+
+	// 페이지 이동 이벤트
+    $('.goPage').click(function(){
+    	// 신청/관리는 기업회원 체크해야함
+    	if($(this).attr('id') == 'appMgmt'){
+	    	// 기업회원 체크
+	    	if(usrDeptChk()){
+	    		location.href=$(this).data('info');
+	    	}
+    	}else{
+    		location.href=$(this).data('info');
+    	}
+    });
 });
 
+// 기업회원 체크
+function usrDeptChk(){
+	
+	var usrDept = '${LoginVO.dept}';
+		
+	//카카오 알림톡 기업회원 전용체크
+	if(usrDept != 'c'){
+		
+		//기업회원 전용 메세지 팝업 띄워주기
+		$('#btnDeptPop').click();
+		
+		return false;
+	}else{
+		return true;
+	}
+}
+
+// 튤팁에서 취소 클릭 시 이벤트
+function customPopup(){
+	// 현재 url 추출
+	var url = window.location.pathname;
+	// 현재 url에서 uri만 추출
+	var lastPart = url.split('/').pop();
+
+	// URL을 치고 들어왔을 경우 '문자 API소개' 페이지로 이동
+    if('appMgmt.do'.indexOf(lastPart) > -1){
+    	location.href='<c:url value="/web/api/intrdView.do" />';
+    }
+}
+
+
 </script>
-				
+		
+
+        <!-- 0724 기업회원 이동 팝업 -->
+        <div class="tooltip-wrap cvt_member_popup_wrap">
+            <div class="popup-com cvt_member_layer popup01" tabindex="0" data-tooltip-con="popup01" data-focus="popup01" data-focus-prev="popup01-close">
+            <div class="popup_heading">
+                <p>알림</p>
+                <button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
+            </div>
+            <div class="layer_in">
+                <p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p>
+                <div class="popup_btn_wrap2">
+                    <button type="button" onclick="location.href='<c:url value="/web/user/membershipChange.do" />'">확인</button>
+	               	<button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01">취소</button>
+                </div>
+            </div>
+            </div>
+        </div>
+        <!--// 0724 기업회원 이동 팝업 -->
+		<button type="button" id="btnDeptPop" data-tooltip="popup01" style="display: none;"></button>		
 		
 		<ul class="tabType4">
-			<li class="tab"><button type="button"  onclick="location.href='<c:url value="/web/api/intrdView.do" />'">문자 API소개</button></li>
-			<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/apiSpec.do" />'">API 사용안내</button></li>
-			<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/examDown.do" />'">예제 다운로드</button></li>
-			<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/appMgmt.do" />'">신청/관리</button></li>
+			<li class="tab"><button type="button" class="goPage" id="intrdView" data-info="<c:url value="/web/api/intrdView.do" />">문자 API소개</button></li>
+			<li class="tab"><button type="button" class="goPage" id="apiSpec" data-info="<c:url value="/web/api/apiSpec.do" />">API 사용안내</button></li>
+			<li class="tab"><button type="button" class="goPage" id="examDown" data-info="<c:url value="/web/api/examDown.do" />">예제 다운로드</button></li>
+			<li class="tab"><button type="button" class="goPage" id="appMgmt" data-info="<c:url value="/web/api/appMgmt.do" />" >신청/관리</button></li>
 	    </ul>
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
@@ -104,6 +104,11 @@
 							<input type="button" class="sort sortBtn" id="sort_msgType">
 						</div>
 					</th>
+					<th>발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th>내용</th>
 					<th>받는사람
 						<div class="sort_wrap">
@@ -173,6 +178,9 @@
 								</p>
 							</td>
 							<td name="listTd">
+								<p>${resultAllSentList.sendKind }</p>
+							</td>
+							<td name="listTd">
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td name="listTd">
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentCompleteListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentCompleteListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentCompleteListAjax.jsp
@@ -97,6 +97,11 @@
 							<input type="button" class="sort sortBtn" id="sort_msgType">
 						</div>
 					</th>
+					<th>발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th>내용</th>
 					<th>받는사람
 						<div class="sort_wrap">
@@ -165,6 +170,9 @@
 								</p>
 							</td>
 							<td>
+								${resultAllSentList.sendKind }
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentFailListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentFailListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentFailListAjax.jsp
@@ -95,6 +95,11 @@
 							<input type="button" class="sort sortBtn" id="sort_orderByCode">
 						</div>
 					</th>
+					<th>발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th>내용</th>
 					<th>받는사람
 						<div class="sort_wrap">
@@ -153,6 +158,9 @@
 								</p>
 							</td>
 							<td>
+								${resultAllSentList.sendKind }
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentReadyListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentReadyListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentReadyListAjax.jsp
@@ -97,6 +97,11 @@
 							<input type="button" class="sort sortBtn" id="sort_msgType">
 						</div>
 					</th>
+					<th>발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th>내용</th>
 					<th>받는사람
 						<div class="sort_wrap">
@@ -165,6 +170,9 @@
 								</p>
 							</td>
 							<td>
+								${resultAllSentList.sendKind }
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentView.jsp
@@ -374,15 +374,15 @@
 			url = "/web/mjon/msgsent/deleteAddrNoDataAjax.do";
 			
 			$.ajax({
-		        type: "POST",
-		        url: url,
-		        data: data,
-		        dataType:'json',
-		        async: false,
-		        processData: false,
-		        contentType: false,
-		        cache: false,
-		        success: function (returnData, status) {
+				type: "POST",
+				url: url,
+				data: data,
+				dataType:'json',
+				async: false,
+				processData: false,
+				contentType: false,
+				cache: false,
+				success: function (returnData, status) {
 					if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
 						if("fail"==returnData.result){
 							
@@ -410,8 +410,8 @@
 						alert(returnData.message);
 					}
 				},
-		        error: function (e) { alert("주소록 삭제에 실패하였습니다."); console.log("ERROR : ", e); }
-		    });
+				error: function (e) { alert("주소록 삭제에 실패하였습니다."); console.log("ERROR : ", e); }
+			});
 			
 		}
 		
@@ -456,15 +456,15 @@
 			url = "/web/mjon/msgsent/insertAddBlockNoDataAjax.do";
 			
 			$.ajax({
-		        type: "POST",
-		        url: url,
-		        data: data,
-		        dataType:'json',
-		        async: false,
-		        processData: false,
-		        contentType: false,
-		        cache: false,
-		        success: function (returnData, status) {
+				type: "POST",
+				url: url,
+				data: data,
+				dataType:'json',
+				async: false,
+				processData: false,
+				contentType: false,
+				cache: false,
+				success: function (returnData, status) {
 					if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
 						if("fail"==returnData.result){
 							
@@ -492,8 +492,8 @@
 						alert(returnData.message);
 					}
 				},
-		        error: function (e) { alert("수신거부번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
-		    });
+				error: function (e) { alert("수신거부번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
+			});
 			
 		//}
 		
@@ -541,35 +541,35 @@
 	form.resultType.value = resultType;
 	
 	//만들려는 팝업의 크기
-    var popup_wid = '1280';
-    var popup_ht = '700';
+	var popup_wid = '1280';
+	var popup_ht = '700';
 
-    var popup_left = (window.screen.width / 2) - (popup_wid / 2);
-    var popup_top =(window.screen.height / 2) - (popup_ht / 2);
+	var popup_left = (window.screen.width / 2) - (popup_wid / 2);
+	var popup_top =(window.screen.height / 2) - (popup_ht / 2);
 
-    $("#resPopForm").attr("target","msgSFDetailPop");
-    
-    window.open('', 'msgSFDetailPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
-    $("#resPopForm").attr({"action":"/web/mjon/msgsent/selectMsgSFDetailListAjax.do", "method":"post"}).submit();
+	$("#resPopForm").attr("target","msgSFDetailPop");
+	
+	window.open('', 'msgSFDetailPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
+	$("#resPopForm").attr({"action":"/web/mjon/msgsent/selectMsgSFDetailListAjax.do", "method":"post"}).submit();
 	
 }
 
 
 /* 사용내역서 클릭 시 내역서 새창 팝업 오픈  */
 function fnShowPrintPopup(tabType, type) { 
-    //만들려는 팝업의 크기
-    var popup_wid = '840';
-    var popup_ht = '900';
+	//만들려는 팝업의 크기
+	var popup_wid = '840';
+	var popup_ht = '900';
 
-    var popup_left = (window.screen.width / 2) - (popup_wid / 2);
-    var popup_top =(window.screen.height / 2) - (popup_ht / 2);
+	var popup_left = (window.screen.width / 2) - (popup_wid / 2);
+	var popup_top =(window.screen.height / 2) - (popup_ht / 2);
 
-    $("#tabType").val(tabType);
-    $("#searchForm").attr("target","msgSentPrint");
-    
-    window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
-    $("#searchForm").attr({"action":"/web/mjon/msgsent/printMsgSentDataAjax.do", "method":"post"}).submit();
-    
+	$("#tabType").val(tabType);
+	$("#searchForm").attr("target","msgSentPrint");
+	
+	window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
+	$("#searchForm").attr({"action":"/web/mjon/msgsent/printMsgSentDataAjax.do", "method":"post"}).submit();
+	
 }
 
 function addrGroupDuplCnt() {
@@ -582,15 +582,15 @@
 	var url = "/web/addr/selectDuplAddrGroupNameAjax.do";
 	
 	$.ajax({
-        async: false,
+		async: false,
 		type: "post",
-        url: url,
-        data: data,
-        dataType:"JSON",
+		url: url,
+		data: data,
+		dataType:"JSON",
 //          contentType: false,
 //      	 processData: false,
-        cache: false,
-        success: function (returnData, status) {
+		cache: false,
+		success: function (returnData, status) {
 			if("dupl"==returnData.result1) {
 				flag = false;
 			}
@@ -646,15 +646,15 @@
 			url = "/web/mjon/msgsent/insertAddAddrGrpDataAjax.do";
 			
 			$.ajax({
-		        type: "POST",
-		        url: url,
-		        data: data,
-		        dataType:'json',
-		        async: false,
-		        processData: false,
-		        contentType: false,
-		        cache: false,
-		        success: function (returnData, status) {
+				type: "POST",
+				url: url,
+				data: data,
+				dataType:'json',
+				async: false,
+				processData: false,
+				contentType: false,
+				cache: false,
+				success: function (returnData, status) {
 					if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
 						if("fail"==returnData.result){
 							
@@ -684,8 +684,8 @@
 						alert(returnData.message);
 					}
 				},
-		        error: function (e) { alert("주소록 등록에 실패하였습니다."); console.log("ERROR : ", e); }
-		    });
+				error: function (e) { alert("주소록 등록에 실패하였습니다."); console.log("ERROR : ", e); }
+			});
 	}else{
 		
 		alert("등록할 문자를 선택해 주세요.");
@@ -713,9 +713,9 @@
 				<button type="button" class="tooltip-close" data-focus="rev_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
 			</div>
 			<div class="layer_in" id="msgSentDetailPopLoad">
-                <div class="popup_btn_wrap2" style="justify-content: center;">
-                    <button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>                      
-                </div>
+				<div class="popup_btn_wrap2" style="justify-content: center;">
+					<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>                      
+				</div>
 			</div>
 		</div>
 	</div><!--// 문자내용 팝업 -->
@@ -730,12 +730,12 @@
 				<div class="gorup_join_cont">
 					<p class="adr_pop_title">선택된 발송내역 전화번호를 그룹으로 등록합니다.</p>
 					<div class="group_input" style="margin-top: 0;">
-                        <div class="input_left">그룹이름</div>
-                        <div class="input_right">
-                            <label for="grpNm" class="label">새 그룹명 입력</label>
-                            <input type="text" id="grpNm" name="grpNm" placeholder="새 그룹명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명 입력'" class="inputLight">
-                        </div>
-                    </div>
+						<div class="input_left">그룹이름</div>
+						<div class="input_right">
+							<label for="grpNm" class="label">새 그룹명 입력</label>
+							<input type="text" id="grpNm" name="grpNm" placeholder="새 그룹명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명 입력'" class="inputLight">
+						</div>
+					</div>
 					<div class="popup_btn_wrap2">
 						<button type="button" onclick="javascript:fnAddAddrNo(); return false;">저장</button>
 						<button type="button" class="tooltip-close" data-focus="rev_popup02-close" data-focus-next="rev_popup02">취소</button>                      
@@ -744,314 +744,295 @@
 			</div>
 		</div>
 	</div>
-    <div class="inner">
-        <!-- send top -->
-        <div class="send_top">
+	<div class="inner">
+		<!-- send top -->
+		<div class="send_top">
 		<!-- 결제관리 - 요금 사용내역 -->
-            <div class="rev_admin_cont serv_content current">
-                <div class="heading">
-                    <h2>발송결과</h2>
-                    <button type="button" class="button info" onclick="infoPop('selectMsgSentView');">사용안내</button>
-                    <button type="button" class="button junk" data-tooltip="popupJunk">통신사 스팸규격안내</button>
-                </div>
+			<div class="rev_admin_cont serv_content current">
+				<div class="heading">
+					<h2>발송결과</h2>
+					<button type="button" class="button info" onclick="infoPop('selectMsgSentView');">사용안내</button>
+					<button type="button" class="button junk" data-tooltip="popupJunk">통신사 스팸규격안내</button>
+				</div>
 					<!-- tab button -->
-                <div class="pay_tab_wrap">
+				<div class="pay_tab_wrap">
 					<%@include file="/WEB-INF/jsp/web/kakao/include/KakaoSentTopMentTap.jsp" %>
 				</div>
 					<!--// tab button -->
-                <%--<div class="titBox type1">
-                    <p>- 보낸결과는 이동통신사의 결과값을 기반으로 표시되며, 최대 6개월간의 발송내역만 확인하실 수 있습니다.</p>
-                    <p>- 전송내역이 필요한 경우 기간(6개월) 내에 다운로드하여 주시기 바랍니다.</p>
-                    <p>- 보낸결과는 이동통신사 및 수신자 등의 사정으로 발송이 지연된 경우 결과가 다소 늦게 확인될 수 있습니다.</p>
-                    <p>- 받는사람 기준으로 전송건별(묶음), 개인별(건) 상세조회가 가능합니다.</p>
-                    <p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
-                    <p>- 정상 수신인데도 불구하고 문자를 받지 못한 경우에는 “이통사별스팸차단서비스(버튼)” 안내를 확인하시기 바랍니다.</p>
-                    <p>- 발송건 전체가 오류 처리되는 경우 번호도용 차단서비스에 가입되어 있을 수 있습니다. “번호도용 차단서비스(버튼)” 안내를 참고하시기 바랍니다.</p>
-                    <p>- 보낸결과는 삭제 시 복구가 불가하오니 반드시 유의하시기 바랍니다.</p>
-                    <div class="btnWrap type1">
-                        <button type="button" data-tooltip="popupJunk" class="tab1">정상수신인데 못받은 경우<span>(통신사별 스팸차단서비스)</span></button>
-                        <button type="button" data-tooltip="popupJunk" class="tab2">발송내용이 전체오류가 나는 경우<span>(통신사별 스팸차단서비스)</span></button>
-                    </div>
-                </div>--%>
-                <form id="searchForm" name="searchForm" method="post">
-	                <input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
-	                <input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
-	                <input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
+				<%--<div class="titBox type1">
+					<p>- 보낸결과는 이동통신사의 결과값을 기반으로 표시되며, 최대 6개월간의 발송내역만 확인하실 수 있습니다.</p>
+					<p>- 전송내역이 필요한 경우 기간(6개월) 내에 다운로드하여 주시기 바랍니다.</p>
+					<p>- 보낸결과는 이동통신사 및 수신자 등의 사정으로 발송이 지연된 경우 결과가 다소 늦게 확인될 수 있습니다.</p>
+					<p>- 받는사람 기준으로 전송건별(묶음), 개인별(건) 상세조회가 가능합니다.</p>
+					<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
+					<p>- 정상 수신인데도 불구하고 문자를 받지 못한 경우에는 “이통사별스팸차단서비스(버튼)” 안내를 확인하시기 바랍니다.</p>
+					<p>- 발송건 전체가 오류 처리되는 경우 번호도용 차단서비스에 가입되어 있을 수 있습니다. “번호도용 차단서비스(버튼)” 안내를 참고하시기 바랍니다.</p>
+					<p>- 보낸결과는 삭제 시 복구가 불가하오니 반드시 유의하시기 바랍니다.</p>
+					<div class="btnWrap type1">
+						<button type="button" data-tooltip="popupJunk" class="tab1">정상수신인데 못받은 경우<span>(통신사별 스팸차단서비스)</span></button>
+						<button type="button" data-tooltip="popupJunk" class="tab2">발송내용이 전체오류가 나는 경우<span>(통신사별 스팸차단서비스)</span></button>
+					</div>
+				</div>--%>
+				<form id="searchForm" name="searchForm" method="post">
+					<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
+					<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
+					<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
 					<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
 					<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
 					<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
 					<input type="hidden" id="listType" name="listType" value="groupList"/><!-- 리스트 종류 -->
 					<input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 -->
 					<input type="hidden" id="mberId" name="mberId" value="${LoginVO.id}"/><!-- 주소록 그룹 이름 -->
-                
-                <!-- 각 통계별 총 건수 -->
-                <c:set var="totAllCnt" value="0"/><!-- 전체 건수 -->
-                <c:set var="totSmsCnt" value="0"/><!-- 단문 건수 -->
-                <c:set var="totLmsCnt" value="0"/><!-- 장문 건수 -->
-                <c:set var="totMmsCnt" value="0"/><!-- 그림 건수 -->
-                
-                <!-- 각 통계별 성공, 실패 건수 처리 -->
-                <c:set var="waitAllCnt" value="0"/><!-- 전체 대기 건수 -->
-                <c:set var="succAllCnt" value="0"/><!-- 전체 성공 건수 -->
-                <c:set var="failAllCnt" value="0"/><!-- 전체 실패 건수 -->
-                <c:set var="waitSmsCnt" value="0"/><!-- 단문 대기 건수 -->
-                <c:set var="succSmsCnt" value="0"/><!-- 단문 성공 건수 -->
-                <c:set var="failSmsCnt" value="0"/><!-- 단문 실패 건수 -->
-                <c:set var="waitLmsCnt" value="0"/><!-- 장문 대기 건수 -->
-                <c:set var="succLmsCnt" value="0"/><!-- 장문 성공 건수 -->
-                <c:set var="failLmsCnt" value="0"/><!-- 장문 실패 건수 -->
-                <c:set var="waitMmsCnt" value="0"/><!-- 그림 대기 건수 -->
-                <c:set var="succMmsCnt" value="0"/><!-- 그림 성공 건수 -->
-                <c:set var="failMmsCnt" value="0"/><!-- 그림 실패 건수 -->
-                <!-- 발송대기 건수가 있으면 이것도 발송 실패건수로 일단 집계한다. -->
-                <c:forEach var="totalMsgCnt" items="${totalMsgCnt}" varStatus="status">
-                	
-                	<!-- 전체 갯수 구하기 -->
-                	<c:set var="totAllCnt" value="${totAllCnt + totalMsgCnt.msgResultCnt}"/>
-                		
-                	<!-- 전체 대기 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitAllCnt" value="${waitAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 전체 성공 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succAllCnt" value="${succAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 전체 실패 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failAllCnt" value="${failAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 단문 처리 -->
-                <c:forEach var="smsMsgCnt" items="${smsMsgCnt}" varStatus="status">
-                	
-                	<!-- 단문 전체 갯수 구하기 -->
-                	<c:set var="totSmsCnt" value="${totSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 단문 대기 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitSmsCnt" value="${waitSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 단문 성공 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succSmsCnt" value="${succSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 단문 실패 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failSmsCnt" value="${failSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 장문 처리 -->
-                <c:forEach var="lmsMsgCnt" items="${lmsMsgCnt}" varStatus="status">
-                	
-                	<!-- 장문 전체 갯수 구하기 -->
-                	<c:set var="totLmsCnt" value="${totLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 장문 대기 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitLmsCnt" value="${waitLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 장문 성공 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succLmsCnt" value="${succLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 장문 실패 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failLmsCnt" value="${failLmsCnt + lmsMsgCnt.msgResultCnt}"/>	
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 그림 처리 -->
-                <c:forEach var="mmsMsgCnt" items="${mmsMsgCnt}" varStatus="status">
-                
-                	<!-- 그림 전체 갯수 구하기 -->
-                	<c:set var="totMmsCnt" value="${totMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 그림 대기 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitMmsCnt" value="${waitMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 그림 성공 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succMmsCnt" value="${succMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-
-                	<!-- 그림 실패 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failMmsCnt" value="${failMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <div class="rev_admin">
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>전체</p>
-                            <p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>단문(SMS)</p>
-                            <p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>장문(LMS)</p>
-                            <p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>그림(MMS)</p>
-                            <p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                </div>
-                <div class="excel_middle">
-                    <div class="select_btnWrap clearfix">
-                        <div class="btn_left">
-                            <span class="cal_label">기간선택</span>
-                            <div class="calendar_wrap">
-                                <input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonMsgSentVO.startDate}'/>" data-datecontrol="true">
-                                <span class="dateEtc">~</span>
-                                <input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonMsgSentVO.endDate}'/>" data-datecontrol="true">
-                            </div>
-                            <!-- <button type="button">전월</button>
-                            <button type="button">당월</button> -->
-                            <button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;"  class="btnType btnType19">전월</button>
-							<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;"  class="btnType btnType19">당월</button>
-                            <!-- <button type="button">3개월</button> -->
-                            <button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;"  class="btnType btnType19">3개월</button>
-                            <button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
-                        </div>
-                        <div class="btn_right">
-                            <%-- <label for="searchMsgType" class="label">문자형태 선택 == ${mjonMsgSentVO.searchMsgType}</label>
-                            <select name="searchMsgType" id="searchMsgType" class="selType2">
-                            	<option value="">전체</option>
-                                <option value="S" <c:if test="${mjonMsgSentVO.searchMsgType == 'S'}">selected</c:if> >단문</option>
-                                <option value="L" <c:if test="${mjonMsgSentVO.searchMsgType == 'L'}">selected</c:if> >장문</option>
-                                <option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
-                            </select> --%>
-                            
-                            <label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
-                            <select name="searchCondition" id="searchCondition" class="selType2">
-                                <option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
-                                <option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
-                            </select>
-                            <div class="search">
-                                <label for="id" class="label"></label>
-                                <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
-                                <button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="list_tab_wrap2 type4">
-                    <!-- tab button -->
-                    <ul class="list_tab">
-                        <li class="tab active"><button type="button" onclick="fnTabLoad('',0); return false;">전체</button></li>
-                        <li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
-                        <li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
-                        <li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
-                    </ul><!--// tab button -->
-                </div>
-                <!-- 예약관리 > 전체 -->
-	                <div class="price_history_cont current" id="listTab_2">
-	                    <!-- tab button -->
-	                    <div class="table_tab_wrap">
-	                        <ul>
-	                            <li class="tab active">
-	                            <button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
-	                            <li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">결과대기</button></li>
-	                            <li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">정상수신</button></li>
-	                            <li class="tab"><button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button></li>
-	                        </ul><!--// tab button -->
-	                        <div class="tab_depth1">
-                                <a href="#none" class="on msgGgoupList">받는사람(전송건별)</a>
-                                <a href="#none" style="display: none;"></a>
-                                <a href="#none" class="msgPrivateList">받는사람(개인별)</a>
-                                <div class="on_active">받는사람(전송건별)</div>
-                            </div>
-	                    </div>
-	                    <!-- 발송관리 리스트 -->
-						<div class="table_cont current msgSentAllLoad" id="tableCont_1">
-						</div><!-- //전체 종료 -->
-						<!-- table -->
+				
+				
+					<div class="rev_content" id="tab5_1">
+						<div class="rev_admin">
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>전체</p>
+									<c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>단문(SMS)</p>
+									<c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>장문(LMS)</p>
+									<c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>그림(MMS)</p>
+									<c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+						</div>
+						
+						
+						
+						
+						
+						<div class="excel_middle">
+							<div class="select_btnWrap clearfix">
+								<div class="btn_left">
+									<span class="cal_label">기간선택</span>
+									<div class="calendar_wrap">
+										<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonMsgSentVO.startDate}'/>" data-datecontrol="true">
+										<span class="dateEtc">~</span>
+										<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonMsgSentVO.endDate}'/>" data-datecontrol="true">
+									</div>
+									<!-- <button type="button">전월</button>
+									<button type="button">당월</button> -->
+									<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;"  class="btnType btnType19">전월</button>
+									<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;"  class="btnType btnType19">당월</button>
+									<!-- <button type="button">3개월</button> -->
+									<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;"  class="btnType btnType19">3개월</button>
+									<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
+								</div>
+								<div class="btn_right">
+									<%-- <label for="searchMsgType" class="label">문자형태 선택 == ${mjonMsgSentVO.searchMsgType}</label>
+									<select name="searchMsgType" id="searchMsgType" class="selType2">
+										<option value="">전체</option>
+										<option value="S" <c:if test="${mjonMsgSentVO.searchMsgType == 'S'}">selected</c:if> >단문</option>
+										<option value="L" <c:if test="${mjonMsgSentVO.searchMsgType == 'L'}">selected</c:if> >장문</option>
+										<option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
+									</select> --%>
+									
+									<c:if test="${appMgmt }">
+									<label for="searchCondition_01" class="label">발신방식 == ${mjonMsgSentVO.searchCondition}</label>
+										<select name="searchCondition_01" id="searchCondition_01" class="selType2 select_all_btn">
+											<option value="" <c:if test="${empty mjonMsgSentVO.searchCondition_01 }">selected</c:if> >발송방식 전체</option>
+											<option value="H" <c:if test="${mjonMsgSentVO.searchCondition_01 == 'H'}">selected</c:if> >WEB</option>
+											<option value="A" <c:if test="${mjonMsgSentVO.searchCondition_01 == 'A'}">selected</c:if> >API</option>
+										</select>
+									</c:if>
+									<label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
+									<select name="searchCondition" id="searchCondition" class="selType2 select_btn">
+										<option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
+										<option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
+									</select>
+									<div class="search">
+										<label for="id" class="label"></label>
+										<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
+										<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
+									</div>
+								</div>
+							</div>
+						</div>
+						<div class="list_tab_wrap2 type4">
+							<!-- tab button -->
+							<ul class="list_tab">
+								<li class="tab active"><button type="button" onclick="fnTabLoad('',0); return false;">전체</button></li>
+								<li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
+								<li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
+								<li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
+							</ul><!--// tab button -->
+						</div>
+						<!-- 예약관리 > 전체 -->
+						<div class="price_history_cont current" id="listTab_2">
+							<!-- tab button -->
+							<div class="table_tab_wrap">
+								<ul>
+									<li class="tab active">
+									<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
+									<li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">결과대기</button></li>
+									<li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">정상수신</button></li>
+									<li class="tab"><button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button></li>
+								</ul><!--// tab button -->
+								<div class="tab_depth1">
+									<a href="#none" class="on msgGgoupList">받는사람(전송건별)</a>
+									<a href="#none" style="display: none;"></a>
+									<a href="#none" class="msgPrivateList">받는사람(개인별)</a>
+									<div class="on_active">받는사람(전송건별)</div>
+								</div>
+							</div>
+							<!-- 발송관리 리스트 -->
+							<div class="table_cont current msgSentAllLoad" id="tableCont_1">
+							</div><!-- //전체 종료 -->
+							<!-- table -->
+						</div>
 					</div>
 				</form>
 			</div>
-        </div><!--// send top -->
-    </div>
+		</div><!--// send top -->
+	</div>
 	<form id="resPopForm" name="resPopForm" method="post">
 		<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
 		<input type="hidden" id="msgId" name="msgId" value=""/>
src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgAllListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgAllListAjax.jsp
@@ -69,19 +69,19 @@
 	<div class="tb_wrap">
 		<table class="tType4">
 			<colgroup>
-			<col style="width: 30px;">
-			<col style="width: 9%;">
-			<col style="width: 12%;">
-			<col style="width: 12%;">
-			<col style="width: 7%;">
-<%-- 			<col style="width: 15%;"> --%>
-			<col style="width: 60px;">
-			<col style="width: 9%;">
-			<col style="width: 10%;">
-			<col style="width: 9%;">
-			<col style="width: 6%;">
-			<col style="width: 8%;">
-			<col style="width: 60px;">
+				<col style="width: 20px;">
+				<col style="width: 8%;">
+				<col style="width: 12%;">
+				<col style="width: 12%;">
+				<col style="width: 6%;">
+				<col style="width: 8%;">
+				<col style="width: 42PX;">
+				<col style="width: 8%;">
+				<col style="width: 10%;">
+				<col style="width: 8%;">
+				<col style="width: 4%;">
+				<col style="width: 6%;">
+				<col style="width: 42px;">
 			</colgroup>
 			<thead>
 				<tr>
@@ -118,6 +118,12 @@
 							<input type="button" class="sort sortBtn" id="sort_subject">
 						</div>
 					</th> -->
+					<th rowspan="2">
+						발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th rowspan="2">
 						내용
 					</th>
@@ -230,6 +236,9 @@
 								</p>
 							</td> --%>
 							<td>
+								<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCancelListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCancelListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCancelListAjax.jsp
@@ -73,7 +73,7 @@
 				<col style="width: 15%;">
 				<col style="width: 15%;">
 				<col style="width: 7%;">
-<%-- 				<col style="width: 20%;"> --%>
+				<col style="width: 8%;">
 				<col style="width: 85px;">
 				<col style="width: 9%;">
 				<col style="width: 11%;">
@@ -111,6 +111,12 @@
 							<input type="button" class="sort sortBtn" id="sort_subject">
 						</div>
 					</th> -->
+					<th rowspan="2">
+						발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th rowspan="2">
 						내용
 					</th>
@@ -186,6 +192,9 @@
 								</p>
 							</td> --%>
 							<td>
+								<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCompleteListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCompleteListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgCompleteListAjax.jsp
@@ -74,7 +74,8 @@
 				<col style="width: 15%;">
 				<col style="width: 15%;">
 				<col style="width: 7%;">
-<%-- 				<col style="width: 20%;"> --%>
+				
+				<col style="width: 10%;">
 				<col style="width: 90px;">
 				<col style="width: 10%;">
 				<col style="width: 10%;">
@@ -116,6 +117,12 @@
 							<input type="button" class="sort sortBtn" id="sort_subject">
 						</div>
 					</th> -->
+					<th rowspan="2">
+						발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
+						</div>
+					</th>
 					<th>
 						내용
 					</th>
@@ -189,6 +196,9 @@
 								</p>
 							</td> --%>
 							<td>
+								<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgReadyListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgReadyListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgReadyListAjax.jsp
@@ -85,12 +85,13 @@
 				<col style="width: 15%;">
 				<col style="width: 15%;">
 				<col style="width: 8%;">
-<%-- 				<col style="width: 20%;"> --%>
-				<col style="width: 85px;">
+				<col style="width: 8%;">
+				
+				<col style="width: 10%;">
 				<col style="width: 10%;">
 				<col style="width: 11%;">
 				<col style="width: 9%;">
-				<col style="width: 85px;">
+				<col style="width: 42px;">
 			</colgroup>
 			<thead>
 				<tr>
@@ -114,6 +115,12 @@
 						형태
 						<div class="sort_wrap">
 							<input type="button" class="sort sortBtn" id="sort_orderByCode">
+						</div>
+					</th>
+					<th rowspan="2">
+						발송방식
+						<div class="sort_wrap">
+							<input type="button" class="sort sortBtn" id="sort_sendKind">
 						</div>
 					</th>
 					<!-- <th rowspan="2">
@@ -202,6 +209,9 @@
 								</p>
 							</td> --%>
 							<td>
+								<p><c:out value="${resultAllResList.sendKind == 'H'? 'WEB' : 'API' }"/></p>
+							</td>
+							<td>
 								<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllResList.msgGroupId}','${resultAllResList.fileCnt}'); return false;">상세보기</button>
 							</td>
 							<td>
src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgView.jsp
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedMsgView.jsp
@@ -430,242 +430,200 @@
 					<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
 					<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
                 
-                <!-- 각 통계별 총 건수 -->
-                <c:set var="totAllCnt" value="0"/><!-- 전체 건수 -->
-                <c:set var="totSmsCnt" value="0"/><!-- 단문 건수 -->
-                <c:set var="totLmsCnt" value="0"/><!-- 장문 건수 -->
-                <c:set var="totMmsCnt" value="0"/><!-- 그림 건수 -->
                 
-                <!-- 각 통계별 성공, 실패 건수 처리 -->
-                <c:set var="waitAllCnt" value="0"/><!-- 전체 대기 건수 -->
-                <c:set var="succAllCnt" value="0"/><!-- 전체 성공 건수 -->
-                <c:set var="failAllCnt" value="0"/><!-- 전체 실패 건수 -->
-                <c:set var="cnclAllCnt" value="0"/><!-- 전체 예약취소 건수 -->
-                
-                <c:set var="waitSmsCnt" value="0"/><!-- 단문 대기 건수 -->
-                <c:set var="succSmsCnt" value="0"/><!-- 단문 성공 건수 -->
-                <c:set var="failSmsCnt" value="0"/><!-- 단문 실패 건수 -->
-                <c:set var="cnclSmsCnt" value="0"/><!-- 단문 예약취소 건수 -->
-                
-                <c:set var="waitLmsCnt" value="0"/><!-- 장문 대기 건수 -->
-                <c:set var="succLmsCnt" value="0"/><!-- 장문 성공 건수 -->
-                <c:set var="failLmsCnt" value="0"/><!-- 장문 실패 건수 -->
-                <c:set var="cnclLmsCnt" value="0"/><!-- 장문 예약취소 건수 -->
-                
-                <c:set var="waitMmsCnt" value="0"/><!-- 그림 대기 건수 -->
-                <c:set var="succMmsCnt" value="0"/><!-- 그림 성공 건수 -->
-                <c:set var="failMmsCnt" value="0"/><!-- 그림 실패 건수 -->
-                <c:set var="cnclMmsCnt" value="0"/><!-- 그림 예약취소 건수 -->
-                
-                <c:forEach var="totalMsgCnt" items="${totalMsgCnt}" varStatus="status">
-                
-                	<!-- 전체 갯수 구하기 -->
-                	<c:set var="totAllCnt" value="${totAllCnt + totalMsgCnt.msgResultCnt}"/>
-                		
-                	<!-- 전체 대기 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitAllCnt" value="${waitAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                		
-                	<!-- 전체 성공 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succAllCnt" value="${succAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 전체 실패 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failAllCnt" value="${failAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 전체 예약취소 갯수 -->
-                	<c:if test="${totalMsgCnt.msgResultSts == 'C'}">
-                		<c:set var="cnclAllCnt" value="${cnclAllCnt + totalMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 단문 처리 -->
-                <c:forEach var="smsMsgCnt" items="${smsMsgCnt}" varStatus="status">
-                	
-                	<!-- 단문 전체 갯수 구하기 -->
-                	<c:set var="totSmsCnt" value="${totSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 단문 대기 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitSmsCnt" value="${waitSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 단문 성공 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succSmsCnt" value="${succSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 단문 실패 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failSmsCnt" value="${failSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 단문 예약취소 갯수 구하기 -->
-                	<c:if test="${smsMsgCnt.msgResultSts == 'C'}">
-                		<c:set var="cnclSmsCnt" value="${cnclSmsCnt + smsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 장문 처리 -->
-                <c:forEach var="lmsMsgCnt" items="${lmsMsgCnt}" varStatus="status">
-                	
-                	<!-- 장문 전체 갯수 구하기 -->
-                	<c:set var="totLmsCnt" value="${totLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 장문 대기 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitLmsCnt" value="${waitLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 장문 성공 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succLmsCnt" value="${succLmsCnt + lmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 장문 실패 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failLmsCnt" value="${failLmsCnt + lmsMsgCnt.msgResultCnt}"/>	
-                	</c:if>
-                	
-                	<!-- 장문 예약취소 갯수 구하기 -->
-                	<c:if test="${lmsMsgCnt.msgResultSts == 'C'}">
-                		<c:set var="cnclLmsCnt" value="${cnclLmsCnt + lmsMsgCnt.msgResultCnt}"/>	
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <!-- 그림 처리 -->
-                <c:forEach var="mmsMsgCnt" items="${mmsMsgCnt}" varStatus="status">
-                
-                	<!-- 그림 전체 갯수 구하기 -->
-                	<c:set var="totMmsCnt" value="${totMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	
-                	<!-- 그림 대기 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'W'}">
-                		<c:set var="waitMmsCnt" value="${waitMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 그림 성공 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'S'}">
-                		<c:set var="succMmsCnt" value="${succMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 그림 실패 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'F'}">
-                		<c:set var="failMmsCnt" value="${failMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                	<!-- 그림 예약취소 갯수 구하기 -->
-                	<c:if test="${mmsMsgCnt.msgResultSts == 'C'}">
-                		<c:set var="cnclMmsCnt" value="${cnclMmsCnt + mmsMsgCnt.msgResultCnt}"/>
-                	</c:if>
-                	
-                </c:forEach>
-                
-                <div class="rev_admin">
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>전체</p>
-                            <p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>예약취소</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${cnclAllCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>단문(SMS)</p>
-                            <p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>예약취소</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${cnclSmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>장문(LMS)</p>
-                            <p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>예약취소</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${cnclLmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                    <div class="rev_admin_in">
-                        <div class="rev_admin_top clearfix">
-                            <p>그림(MMS)</p>
-                            <p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p>
-                        </div>
-                        <div class="rev_admin_btm">
-                        	<dl>
-                        		<dt>대기</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>성공</dt>
-                        		<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>실패</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        	<dl>
-                        		<dt>예약취소</dt>
-                        		<dd><span class="c_e40000"><fmt:formatNumber value="${cnclMmsCnt}" pattern="#,###"/></span>건</dd>
-                        	</dl>
-                        </div>
-                    </div>
-                </div>
+					<div class="rev_content" id="tab5_1">
+						<div class="rev_admin">
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>전체</p>
+									<c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>예약취소</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>예약취소</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>단문(SMS)</p>
+									<c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>예약취소</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">	
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>예약취소</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>장문(LMS)</p>
+									<c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>예약취소</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>예약취소</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+							<div class="rev_admin_in">
+								<div class="rev_admin_top clearfix">
+									<p>그림(MMS)</p>
+									<c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
+									<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
+								</div>
+								<div class="rev_admin_btm admin_btm">
+									<P class="title_top">WEB<span class="title_num"><fmt:formatNumber value="${H_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+									<dl>
+										<dt>대기</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>성공</dt>
+										<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>실패</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+									<dl>
+										<dt>예약취소</dt>
+										<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+									</dl>
+								</div>
+								<c:if test="${appMgmt }">
+									<div class="rev_admin_btm admin_btm admin_btm_api">
+										<P class="title_top">API<span class="title_num"><fmt:formatNumber value="${A_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
+										<dl>
+											<dt>대기</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>성공</dt>
+											<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>실패</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+										<dl>
+											<dt>예약취소</dt>
+											<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
+										</dl>
+									</div>	
+								</c:if>
+							</div>
+						</div>
+						
+						
                 <div class="excel_middle">
                     <div class="select_btnWrap clearfix">
                         <div class="btn_left">
@@ -680,15 +638,24 @@
                             <button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;"  class="btnType btnType19">3개월</button>
                             <button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
                         </div>
-                        <div class="btn_right">
+                        <div class="btn_right">			
+							<c:if test="${appMgmt }">
+								<label for="searchCondition_01" class="label">발신방식 == ${mjonResvMsgVO.searchCondition_01}</label>
+								<select name="searchCondition_01" id="searchCondition_01" class="selType2 select_all_btn">
+									<option value="" <c:if test="${empty mjonResvMsgVO.searchCondition_01 }">selected</c:if> >발송방식 전체</option>
+									<option value="H" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'H'}">selected</c:if> >WEB</option>
+									<option value="A" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'A'}">selected</c:if> >API</option>
+								</select>
+							</c:if>
                             <label for="searchCondition" class="label">발신번호 선택 == ${mjonResvMsgVO.searchCondition}</label>
-                            <select name="searchCondition" id="searchCondition" class="selType2">
+                            <select name="searchCondition" id="searchCondition" class="selType2 select_btn">
                                 <%-- <option value="1" <c:if test="${mjonResvMsgVO.searchCondition == '1'}">selected</c:if> >제목</option> --%>
                                 <option value="2" <c:if test="${mjonResvMsgVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
                             </select>
                             <div class="search">
                                 <label for="id" class="label"></label>
-                                <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
+<%--                                 <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'"> --%>
+                                <input type="text" class="send_text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
                                 <button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
                             </div>
                         </div>
src/main/webapp/publish/api_admin1.html
--- src/main/webapp/publish/api_admin1.html
+++ src/main/webapp/publish/api_admin1.html
@@ -202,7 +202,7 @@
 
         <!-- 0724 기업회원 이동 팝업 -->
         <div class="tooltip-wrap cvt_member_popup_wrap">
-            <div class="popup-com cvt_member_layer popup01">
+            <div class="popup-com cvt_member_layer popup01" tabindex="0" data-tooltip-con="popup01" data-focus="popup01" data-focus-prev="popup01-close">
             <div class="popup_heading">
                 <p>알림</p>
                 <button type="button" class="tooltip-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
@@ -211,13 +211,13 @@
                 <p>문자API서비스는 기업회원만 신청이 가능합니다.<br>기업회원 전환 페이지로 이동하시겠습니까?</p>
                 <div class="popup_btn_wrap2">
                     <button type="button" onclick="location.href='/web/user/membershipChange.do'">확인</button>
-                    <button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01" onclick="location.href='#'">취소</button>
+	               	<button type="button" class="tooltip-close" data-focus="popup01-close" data-focus-next="popup01">취소</button>
                 </div>
             </div>
             </div>
         </div>
         <!--// 0724 기업회원 이동 팝업 -->
-
+		<button type="button" id="btnDeptPop" data-tooltip="popup01" style="display: none;"></button>
         <div class="inner">
             <!-- send top -->
             <div class="send_top">
src/main/webapp/publish/textingmsg_2022.html
--- src/main/webapp/publish/textingmsg_2022.html
+++ src/main/webapp/publish/textingmsg_2022.html
@@ -1,3 +1,15 @@
+
+<th>발송방식
+	<div class="sort_wrap">
+		<input type="button" class="sort sortBtn" id="sort_sendKind">
+	</div>
+</th>
+
+
+<td>
+	${resultAllSentList.sendKind }
+</td>
+
 <!DOCTYPE html>
 <html lang="ko">
 
Add a comment
List