소스 검색

회원sms발송이력조회

smlee@yes24.com 4 년 전
부모
커밋
4a6003363d

+ 41 - 0
src/main/java/com/style24/admin/biz/dao/TsaSmsSendDao.java

@@ -0,0 +1,41 @@
+package com.style24.admin.biz.dao;
+
+import java.util.Collection;
+ 
+import com.style24.persistence.domain.SmsSend; 
+import com.style24.core.support.annotation.ShopDs;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 발송이력조회 Dao
+ * 
+ * @author smlee
+ * @since 2020. 11. 16
+ */
+@ShopDs
+@Repository
+public interface TsaSmsSendDao {
+
+
+	
+	/**
+	 * 발송이력 목록
+	 * 
+	 * @param withdraw
+	 * @return Collection<SmsSend>
+	 * @author smlee
+	 * @since 2021. 11. 16
+	 */
+	Collection<SmsSend> getSmsSendList(SmsSend smsSend);
+	
+	/**
+	 * 발송이력 상세
+	 * 
+	 * @param SmsSend
+	 * @return SmsSend
+	 * @author smlee
+	 * @since 2021. 11. 25
+	 */
+	SmsSend getSmsSendDetail(SmsSend smsSend);
+	
+}

+ 116 - 0
src/main/java/com/style24/admin/biz/service/TsaSmsSendService.java

@@ -0,0 +1,116 @@
+package com.style24.admin.biz.service;
+import com.gagaframework.web.parameter.GagaMap;
+import com.style24.admin.biz.dao.TsaSmsSendDao;
+import com.style24.admin.support.security.session.TsaSession;
+import com.style24.core.biz.service.TscCustomerService;
+import com.style24.core.support.env.TscConstants;
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.Customer;
+import com.style24.persistence.domain.SsgDirectMessage;
+import com.style24.persistence.domain.Withdraw;
+import com.vdurmont.emoji.EmojiParser;
+import com.style24.persistence.domain.SmsSend;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+ 
+
+import lombok.extern.slf4j.Slf4j; 
+/**
+ * sms/kakao 발송목록 조회 
+ *
+ * @author smlee
+ * @since 2021. 11. 16
+ */
+@Service
+@Slf4j
+public class TsaSmsSendService {
+
+	@Autowired
+	private TsaSmsSendDao SmsSendDao;
+
+
+	
+	/**
+	 * Sms 발송조회
+	 *
+	 * @param smsSend
+	 * @return
+	 * @author smlee
+	 * @since 2021. 11. 16
+	 */
+	public Collection<SmsSend> getSmsSendList(SmsSend smsSend) {
+		Collection<SmsSend> result = new ArrayList<>();
+		
+		String SearchFullMonth = smsSend.getSearchYear()+smsSend.getSearchMonth();
+		//1.  카카오 
+		if(smsSend.getSendTypeKko() != null && smsSend.getSendTypeKko().equals("kko"))
+		{
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_kko_"+SearchFullMonth, "kko","알림톡","FKKOSUBJECT", "FTEMPLATEKEY"); 			
+			for (SmsSend data : SmsSendDao.getSmsSendList(smsSend)) { 
+				result.add(data);
+			}
+
+		}		
+
+		//2. lms  
+		if(smsSend.getSendTypeLms() != null && smsSend.getSendTypeLms().equals("lms"))
+		{
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_mms_"+SearchFullMonth, "lms","LMS/MMS","FSUBJECT", "''");  			
+			for (SmsSend data : SmsSendDao.getSmsSendList(smsSend)) { 
+				result.add(data);
+			}
+		}		
+
+		//3. sms  
+		if(smsSend.getSendTypeSms() != null && smsSend.getSendTypeSms().equals("sms"))
+		{
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_sms_"+SearchFullMonth, "sms","SMS","FMESSAGE", "''");   
+			for (SmsSend data : SmsSendDao.getSmsSendList(smsSend)) { 
+				result.add(data);
+			}
+		}	 
+		return result;
+	}
+	/**
+	 * Sms 발송조회- 상세
+	 *
+	 * @param smsSend
+	 * @return
+	 * @author smlee
+	 * @since 2021. 11. 16
+	 */
+	public SmsSend getSmsSendDetail(String sendType, Integer fseq, String searchMonth){
+		SmsSend smsSend = new SmsSend();
+		smsSend.setFseq(fseq);
+		switch (sendType)
+		{
+		case "kko":		
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_kko_"+searchMonth, sendType,"알림톡","FKKOSUBJECT", "FTEMPLATEKEY"); 	
+		  break;
+		case "lms":		
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_mms_"+searchMonth, sendType,"LMS/MMS","FSUBJECT", "''");  			
+		  break;
+		case "sms":		
+			SetSmsSendParameter(smsSend,"style24_msg.ssg_send_log_sms_"+searchMonth, sendType,"SMS","FMESSAGE", "''");   
+		  break;
+		
+		}
+		return SmsSendDao.getSmsSendDetail(smsSend);
+		
+	}
+	
+	private SmsSend SetSmsSendParameter(SmsSend smsSend, String tableName, String sendType, String sendTypeNm, String subject, String templateKey)
+	{
+		smsSend.setSendTypeTable(tableName);
+		smsSend.setSendType(sendType); 
+		smsSend.setSendTypeNm(sendTypeNm); 
+		smsSend.setSendTypeSubject(subject); 
+		smsSend.setSendTypeTemplateKey(templateKey); 
+		return smsSend;
+	}
+	
+}

+ 98 - 0
src/main/java/com/style24/admin/biz/web/TsaSmsSendController.java

@@ -0,0 +1,98 @@
+package com.style24.admin.biz.web;
+
+import java.util.Collection;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+import com.style24.admin.biz.service.TsaSmsSendService; 
+import com.style24.admin.support.controller.TsaBaseController;
+import com.style24.admin.support.security.session.TsaSession; 
+import com.style24.core.support.session.TscSession;
+import com.style24.persistence.domain.SmsSend;
+
+import lombok.extern.slf4j.Slf4j;
+
+
+/**
+ * 자동문자발송이력 Controller
+ * 
+ * @author smlee
+ * @since 2021. 11. 16
+ */
+@Controller
+@RequestMapping("/sms")
+@Slf4j
+public class TsaSmsSendController extends TsaBaseController {
+
+
+	@Autowired
+	private TsaSmsSendService smsSendService;
+
+	/**
+	 * 문자발송이력 목록 화면
+	 * 
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2020. 11. 16
+	 */
+	@RequestMapping(value = "/send/list/form")
+	public ModelAndView smsSendForm() throws Exception {
+		ModelAndView mav = new ModelAndView();
+ 
+		mav.setViewName("sms/SmsSendListForm");
+
+		return mav;
+	}
+
+	/**
+	 * 문자발송이력 목록
+	 * 
+	 * @param  SmsSend
+	 * @return Collection<SmsSend>
+	 * @author smlee
+	 * @since 2020. 11. 16
+	 */
+	@PostMapping("/send/list")
+	@ResponseBody
+	public  Collection<SmsSend> getSmsSendList(@RequestBody SmsSend smsSend) {
+		 
+		TscSession.setAttribute("maskingYn", TsaSession.getInfo().getMaskingYn());
+		 
+		
+		return smsSendService.getSmsSendList(smsSend);
+	}
+	
+	/**
+	 * 문자발송이력 상세 화면
+	 * 
+	 * @param sendtype
+	 * @return 문자발송이력 상세 화면
+	 * @throws Exception
+	 * @author smlee
+	 * @since 2021. 11. 25
+	 */
+	@GetMapping("/send/detail/form")
+	@ResponseBody
+	public ModelAndView refundDetailForm(@RequestParam(value = "sendType") String sendtype, @RequestParam(value = "fseq") Integer fseq, @RequestParam(value = "searchmonth") String searchmonth) {
+		ModelAndView mav = new ModelAndView();
+ 
+	    mav.addObject("smsSendInfo", smsSendService.getSmsSendDetail(sendtype, fseq,searchmonth));
+	 
+
+		mav.setViewName("sms/SmsSendDetailForm");
+
+		return mav;
+	}
+}

+ 71 - 0
src/main/java/com/style24/persistence/domain/SmsSend.java

@@ -0,0 +1,71 @@
+package com.style24.persistence.domain;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.core.support.session.TscSession;
+import com.style24.core.support.util.MaskingUtils;
+import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TscPageRequest;
+
+import lombok.Data;
+/**
+ * sms Domain
+ * 
+ * @author smlee
+ * @since 2021. 11. 16
+ */
+@SuppressWarnings("serial")
+@Data
+public class SmsSend extends TscBaseDomain {
+ 
+	
+	private int fseq;
+	private String orderNm; //주문자 
+	private String custNm;  //회원명
+	private String fdesTine;//수신번호 
+	private String fcallBack; //발신번호  
+	private String sendType ; // 발송유형 
+	private String sendTypeNm ; // 발송유형 이름
+	private String frsltStat; //발송결과 
+	private String frsltDate; //발송시간 
+	private String searchYear;					// 조회 년도 
+	private String searchMonth;					// 조회 월 
+	
+	
+	private String fsendDate; //발송요청시간 
+	private String custId; //아이디 
+	private String fsubject;//제목
+	private String fmessage;//내용
+    private String sender; //발송자
+    private String ftemplateKey; //템플릿코드 
+    
+    private String callBack1; // 자사(1544-5336) 
+    private String callBack2; // 제휴(1644-5390)
+    
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiCallbackGb;	// 발신번호구분
+    
+ 
+	
+    public String sendTypeSms;
+    public String sendTypeLms;
+    public String sendTypeKko;
+    
+    public String sendTypeTable;
+    public String sendTypeSubject;
+    public String sendTypeTemplateKey;
+    
+    private String frsltStatSuccess;
+    private String frsltStatFail;
+	
+    
+    //Masking
+    
+    public String getMaskingcustNm() {
+		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.name(this.custNm) : this.custNm;
+
+	}
+
+	public String getMaskingFdestine() {
+		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.phoneNo(this.fdesTine) : this.fdesTine;
+	}
+	
+}

+ 71 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaSmsSend.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.admin.biz.dao.TsaSmsSendDao">
+
+	
+	<!-- 발송정보 목록 -->
+	<select id="getSmsSendList" parameterType="SmsSend" resultType="SmsSend">
+	 /* TsaSmsSend.getSmsSendList */ 
+		SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.FSENDDATE asc) RNUM     
+		  FROM (
+			 SELECT #{sendType} AS SendType,
+				    #{sendTypeNm} AS SendTypeNm,
+					FSEQ, 
+			        FCALLBACK,
+			        FSENDDATE,
+			        FRSLTSTAT,
+			        DATE_ADD(FRSLTDATE, INTERVAL 9 HOUR ) as FRSLTDATE,
+			        FUSERID,
+			        FDESTINE,
+			        ${sendTypeSubject}  AS FSUBJECT,
+			        FMESSAGE,
+        			FUSERID        AS Sender,
+					${sendTypeTemplateKey} AS FTEMPLATEKEY 
+	        FROM ${sendTypeTable}
+	         WHERE 1=1 	     
+   	         <if test="fdesTine !=null and fdesTine !='' ">
+		    	 AND FDESTINE = #{fdesTine}
+			 </if>
+        	   <if test="multiCallbackGb != null">
+					/* 발신번호 */
+					<foreach collection="multiCallbackGb" item="item" index="index"  open="AND FCALLBACK IN (" close=")" separator=",">#{item}</foreach>
+				</if>
+			 <choose>
+				<when test='frsltStatSuccess != null and frsltStatSuccess != "" and frsltStatFail != null and frsltStatFail != ""'>
+					AND 1=1
+				</when>
+				<when test='frsltStatSuccess != null and frsltStatSuccess != ""'>
+					AND frsltstat = '06'
+				</when>
+				<when test='frsltStatFail != null and frsltStatFail != ""'>
+					AND frsltstat <![CDATA[<>]]> '06'
+				</when>
+			</choose>		
+			    	         
+			  ) A 
+	</select>	
+	
+ 
+		<!-- 발송정보 목록 -->
+	<select id="getSmsSendDetail" parameterType="SmsSend" resultType="SmsSend">
+	 /* TsaSmsSend.getSmsSendDetail */ 
+	 
+			 SELECT #{sendType} AS SendType,
+				    #{sendTypeNm} AS SendTypeNm,
+					FSEQ, 
+			        FCALLBACK,
+			        FSENDDATE,
+			        FRSLTSTAT,
+			        FRSLTDATE,
+			        FUSERID,
+			        FDESTINE,
+			        ${sendTypeSubject}  AS FSUBJECT,
+			        FMESSAGE,
+        			FUSERID       AS Sender,
+					${sendTypeTemplateKey} AS FTEMPLATEKEY 
+	        FROM ${sendTypeTable}
+	         WHERE 1=1 	      
+	         AND fseq = #{fseq}
+	</select>
+		
+</mapper>

+ 99 - 0
src/main/webapp/WEB-INF/views/sms/SmsSendDetailForm.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : SmsSendDetail.html
+ * @desc    : SMS발송 상세 팝업 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.11.24   smlee     최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="1200" id="popupSmsSend">
+	<div class="panelStyle">
+		<!-- TITLE -->
+		<div class="panelTitle">
+			<h2>SMS발송상세내역</h2>
+			<button type="button" class="close" onclick="uifnPopupClose('popupSmsSend');"><em class="fa fa-times"></em></button>
+		</div>
+		<!-- //TITLE -->	 
+		
+		<div class="panelContent"> 
+				
+				<table class="frmStyle" aria-describedby="상세폼">
+					<colgroup>
+						<col style="width:30%;"/>
+						<col style="width:70%;"/> 
+						<col/>
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>발송유형</th>
+							   <td th:text="${smsSendInfo.sendTypeNm}">
+							   
+							   </td>					 
+						</tr>
+						<tr>
+							<th>휴대폰번호</th>
+							 <td th:text="${smsSendInfo.maskingFdestine}">
+							 </td>
+						</tr>
+						<tr>
+							<th>제목</th>
+							 <td th:text="${smsSendInfo.fsubject}">
+							 
+							 </td>
+						</tr>
+						<tr>
+							<th>내용</th>
+							<td> <dd th:utext="*{#strings.replace(smsSendInfo.fmessage, T(System).getProperty('line.separator'), '&lt;br /&gt;')}"></dd> 
+							 </td>
+						</tr>
+						<tr>
+							<th>발신번호</th>
+							
+							 <td th:text="${smsSendInfo.fcallBack}">
+							 </td>
+						</tr>
+						<tr>
+							<th>발송시간</th>
+							
+							 <td th:text="${smsSendInfo.fsendDate}">
+							 </td>
+						</tr>
+						<tr>
+							<th>발송결과</th>
+							
+							 <td th:text="*{smsSendInfo.frsltStat =='06'? '성공('+smsSendInfo.frsltDate+')': '실패'}">
+							 </td>
+						</tr>
+						<tr>
+							<th>발송자</th>
+							
+							 <td th:text="*{smsSendInfo.sender =='99999'? '배치':'' }">
+							 </td>
+						</tr>
+					</tbody>
+				</table> 
+		</div>
+		<!-- //CONTENT -->	
+	</div>
+</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/	
+	
+	$(document).ready(function() {
+		// Create a summernote
+		//let snOptions = gagaSn.getToolbarOptions();
+		//gagaSn.createSummernote(snOptions, '#answer');
+	});
+/*]]>*/
+</script>
+
+</html>

+ 207 - 0
src/main/webapp/WEB-INF/views/sms/SmsSendListForm.html

@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : SmsSendListForm.html
+ * @desc    : sms발송목록확인 화면 Page
+ *=============================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *=============================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  ==================================
+ * 1.0  2021.11.16   smlee        최초 작성
+ *******************************************************************************
+ -->
+	<div id="main">
+		<!-- 메인타이틀 영역 -->
+		<div class="main-title">문자발송이력
+		</div>
+		<!-- //메인타이틀 영역 -->
+		
+		<!-- 메뉴 설명 -->
+		<div class="infoBox menu-desc">
+		</div>
+		<!-- //메뉴 설명 -->
+		
+		<form id="searchForm" name="searchForm" action="#" th:action="@{'/sms/send/list'}" onsubmit="fnSearch(); return false;" >
+		<div class="panelStyle">
+			<!-- TITLE -->
+			<div class="panelTitle">
+				<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 <font color="red">구분</font>은 꼭 입력해 주세요.</h3>
+				<span class="panelControl">
+					<i class="fa fa-chevron-up"></i>
+				</span>
+			</div>
+			<!-- //TITLE -->
+			<div class="panelContent">
+
+				
+					<table class="frmStyle">
+						<colgroup>
+							<col style="width:12%" />
+							<col style="width:38%" />
+							<col style="width:12%" />
+							<col style="width:38" /> 
+						</colgroup>
+						<tbody> 
+							<tr>
+								<th class="dashR">휴대폰번호</th>
+								<td class="dashR">
+									<input type="text" id="fdesTine" name="fdesTine" class="w200" />
+								</td>
+								<th>발신번호</th>
+								<td> 
+	                            <label class="chkBox checked"><input type="checkbox" name="multiCallbackGb" value="1544-5336" checked="checked"/>자사(1544-5336)</label>
+	                            <label class="chkBox checked"><input type="checkbox" name="multiCallbackGb" value="16445-390" checked="checked"/>제휴(1644-5390)</label>
+					  		   </td>				    
+								 
+							</tr>
+							<tr>
+								<th>발송유형</th>
+								<td >
+								 <label class="chkBox checked"><input type="checkbox" name="sendTypeSms" value="sms" checked="checked"/>SMS</label>
+	                             <label class="chkBox checked"><input type="checkbox" name="sendTypeLms" value="lms" checked="checked"/>LMS/MMS</label>
+	                             <label class="chkBox checked"><input type="checkbox" name="sendTypeKko" value="kko" checked="checked"/>알림톡</label>                             
+									 
+								</td>
+								<th>발송결과</th>
+								<td>
+									
+	                             <label class="chkBox checked"><input type="checkbox" name="frsltStatSuccess" value="06" checked="checked"/>성공</label>
+	                             <label class="chkBox checked"><input type="checkbox" name="frsltStatFail" value="other" checked="checked"/>실패</label>  
+								</td>
+								 							
+							</tr>
+							<tr>
+							<th class="dashR">기간</th>
+							<td colspan="3">
+						  	<select id="searchYear" name="searchYear"></select>						  	
+						  	<select id="searchMonth" name="searchMonth"></select>
+						 </td>
+						</tr>
+						</tbody>
+					</table>
+	
+					<ul class="panelBar">
+						<li class="center">
+						<button type="button" class="btn btn-base btn-lg btn-lg" id="btnSearch">조회</button>
+						<button type="button" class="btn btn-gray btn-lg" onclick="$('#searchForm')[0].reset(); fnInitCalendar();">초기화</button>
+						<button type="button" id="btnExcel" class="btn btn-info btn-lg">엑셀다운로드</button>
+						</li>
+					</ul>
+			</div>
+		</div>
+		<!-- 리스트 영역 -->
+		<div class="panelStyle">			
+			<div id="gridList" style="width:100%; height: 570px;" class="ag-theme-balham"></div>
+		</div>
+		</form>
+	</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	// specify the columns
+	// var extmallList =  gagajf.convertToArray([[${extmallList}]]);
+	
+	var columnDefs = [
+		{headerName: "발송유형",       field: "sendTypeNm", 			width: 100, cellClass: 'text-center'}, 
+		{headerName: "발송번호", 	     field: "fcallBack", 		width: 100, cellClass: 'text-center'},
+		{headerName: "발송요청시간", 	 field: "fsendDate", 	    width: 200, cellClass: 'text-center'},
+		{headerName: "발송결과", 	     field: "frsltStat",		width: 200, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				return params.value=="06"? "성공"+ "("+params.data.frsltDate + ")" : "실패";
+			} 			
+		},
+		{headerName: "휴대폰번호",      field: "maskingFdestine",	  width: 120, cellClass: 'text-center'},
+		{headerName: "제목",          field: "fsubject",		      width: 250, cellClass: 'text-left',
+			cellRenderer: function (params) {
+				return "<a href=\"javascript:void(0);\" onclick=\"detailPopup('"+params.data.sendType+"','" + params.data.fseq + "');\">" + params.value + "</a>";
+			} 			},
+		{headerName: "발송자",         field: "sender",		      width: 120, cellClass: 'text-center',
+				cellRenderer: function (params) {
+					return params.value=="99999"? "배치": " ";
+				} 			},
+		{headerName: "템플릿코드",      field: "ftemplateKey",		  width: 120, cellClass: 'text-center'}
+
+	];
+
+	// Get GridOptions
+	var gridOptions  = gagaAgGrid.getGridOptions(columnDefs);
+
+	// Grid editable
+	//withDrawGridOptions.defaultColDef.editable = false;
+
+
+	/*************************************************************************
+	*  init
+	**************************************************************************/	
+	$(document).ready(function() {
+		// 공통 달력 생성
+         cfnDateYearSetting('searchYear', 2);
+         cfnDateMonthSetting('searchMonth');		
+		// Create a agGrid
+		gagaAgGrid.createGrid('gridList', gridOptions);
+
+	});
+	
+
+	/*************************************************************************
+	*  조회 버튼 클릭 시
+	**************************************************************************/
+	$('#btnSearch').on('click', function() { 
+		fnSearch();
+	});
+
+	/*************************************************************************
+	*  조회 
+	**************************************************************************/	
+	var fnSearch = function() {   
+
+		const $fdesTine = $('#searchForm input[name=fdesTine]');	// 검색핸드폰번호
+		var searchMonth = $("#searchYear option:selected").val()+$("#searchMonth option:selected").val()+'01'; //searchmonth	
+		 
+		if (gagajf.isNull($fdesTine.val())) {
+			mcxDialog.alert('휴대폰번호를 입력해주세요');
+			return;       
+		} 
+		
+        if(searchMonth <"20210901")       	{
+			mcxDialog.alert('2021-09-01 이후로만 조회가능합니다.');
+			return;        	
+       	}
+		
+		gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm');	    
+	};
+
+ 
+	 
+	$('#searchForm input[name=fdesTine]').on('input keyup keydown paste change', function () {
+		cfnCellPhonnHypen(this);
+	});
+	
+
+	/*************************************************************************
+	*  상세 화면
+	**************************************************************************/		
+	var detailPopup = function(sendType, fseq) {
+		if (fseq == 0) return;
+		var searchMonth = $("#searchYear option:selected").val()+$("#searchMonth option:selected").val(); //searchmonth		
+		var actionUrl = "/sms/send/detail/form?sendType=" + sendType + '&fseq=' + fseq +'&searchmonth=' +searchMonth;
+		cfnOpenModalPopup(actionUrl, "popupSmsSendDetail");
+	}
+
+	/*************************************************************************
+	* 엑셀다운로드 
+	**************************************************************************/		
+	// 엑셀다운로드
+	$('#btnExcel').on('click', function() {
+		gagaAgGrid.exportToExcel('일자별주문 목록', gridOptions);
+	});
+
+	
+	
+/*]]>*/
+</script>
+</html>