name 2023-08-01
고객 문자전송리스트 방식 추가
@59483958dcda47358244efa71026f38c74b4649d
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
@@ -70,6 +70,8 @@
 	
 	private int successCnt;	// 문자발송 성공건수
 	
+	private String sendKind;	//문자 전송 타입(H:홈페이지 A: API)
+	
 	private String msgKind;	//문자종류(일반:N, 광고:A , 선거:C, 관리자:S, 이벤트:E)
 	private String delayYn; //지연 문자 유무
 	private String delayCompleteYn; //지연문자 처리 완료 여부
@@ -420,6 +422,10 @@
 	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/uss/umt/web/EgovUserManageController.java
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
@@ -1788,10 +1788,10 @@
         paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgVO)resultList.get(0)).getTotCnt() : 0);
 		model.addAttribute("paginationInfo", paginationInfo);
 		
-		String msgGroupSCntSum = "0";	//정상수신 총 건수 합계
-		String totSPriceSum = "0";	//정상수신 총 금액 합계
-		String msgGroupFWCntSum = "0";	//실패대기 총 건수 합계
-		String totFWPriceSum = "0";	//실패대기 총 금액 합계
+		String msgGroupSCntSum = "0";		//정상수신 총 건수 합계
+		String totSPriceSum = "0";			//정상수신 총 금액 합계
+		String msgGroupFWCntSum = "0";		//실패대기 총 건수 합계
+		String totFWPriceSum = "0";			//실패대기 총 금액 합계
 		
 		if(resultList.size() > 0) {
 			
@@ -1809,10 +1809,10 @@
 		
 		
 		//단문 건수 및 금액 변수 처리
-		String msgSmsGroupSCntSum = "0";	//정상수신 총 건수 합계
-		String totSmsSPriceSum = "0";	//정상수신 총 금액 합계
-		String msgSmsGroupFWCntSum = "0";	//실패대기 총 건수 합계
-		String totSmsFWPriceSum = "0";	//실패대기 총 금액 합계
+		String msgSmsGroupSCntSum = "0";		//정상수신 총 건수 합계
+		String totSmsSPriceSum = "0";			//정상수신 총 금액 합계
+		String msgSmsGroupFWCntSum = "0";		//실패대기 총 건수 합계
+		String totSmsFWPriceSum = "0";			//실패대기 총 금액 합계
 		
 		if(resultSmsList.size() > 0) {
 			
@@ -1830,10 +1830,10 @@
 		
 		
 		//장문 건수 및 금액 변수 처리
-		String msgLmsGroupSCntSum = "0";	//정상수신 총 건수 합계
-		String totLmsSPriceSum = "0";	//정상수신 총 금액 합계
-		String msgLmsGroupFWCntSum = "0";	//실패대기 총 건수 합계
-		String totLmsFWPriceSum = "0";	//실패대기 총 금액 합계
+		String msgLmsGroupSCntSum = "0";		//정상수신 총 건수 합계
+		String totLmsSPriceSum = "0";			//정상수신 총 금액 합계
+		String msgLmsGroupFWCntSum = "0";		//실패대기 총 건수 합계
+		String totLmsFWPriceSum = "0";			//실패대기 총 금액 합계
 		
 		if(resultLmsList.size() > 0) {
 			
@@ -1851,10 +1851,10 @@
 		
 		
 		//그림 건수 및 금액 변수 처리
-		String msgMmsGroupSCntSum = "0";	//정상수신 총 건수 합계
-		String totMmsSPriceSum = "0";	//정상수신 총 금액 합계
-		String msgMmsGroupFWCntSum = "0";	//실패대기 총 건수 합계
-		String totMmsFWPriceSum = "0";	//실패대기 총 금액 합계
+		String msgMmsGroupSCntSum = "0";		//정상수신 총 건수 합계
+		String totMmsSPriceSum = "0";			//정상수신 총 금액 합계
+		String msgMmsGroupFWCntSum = "0";		//실패대기 총 건수 합계
+		String totMmsFWPriceSum = "0";			//실패대기 총 금액 합계
 		
 		if(resultMmsList.size() > 0) {
 			
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
@@ -4451,6 +4451,7 @@
 			, msgGroupId
 			, callFrom
 			, callTo
+			, sendKind
 			, smsTxt
 			, fileCnt
 			, msgType
@@ -4475,50 +4476,84 @@
 			, smiId
 			, delayYn
 			, delayCompleteYn
- 			,(
-				SELECT
-					CONCAT(
-					(
-					  	IF(B.FILE_PATH1 IS NOT NULL, (SELECT
-	 	 	 	 			ATCH_FILE_ID
-	 	 	 	 		FROM LETTNFILEDETAIL 
-	 	 	 	 		WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
-	 	 	 	 		LIMIT 1), '')
-	 	 	 	 	)
-	 	 	 	 	,'^',
-					(
-					  	IF(B.FILE_PATH2 IS NOT NULL, (SELECT
-	 	 	 	 			ATCH_FILE_ID
-	 	 	 	 		FROM LETTNFILEDETAIL 
-	 	 	 	 		WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
-	 	 	 	 		LIMIT 1), '')
-	 	 	 	 	)
-	 	 	 	 	,'^',
-					(
-					  	IF(B.FILE_PATH3 IS NOT NULL, (SELECT
-	 	 	 	 			ATCH_FILE_ID
-	 	 	 	 		FROM LETTNFILEDETAIL 
-	 	 	 	 		WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
-	 	 	 	 		LIMIT 1), '')
-	 	 	 	 	))	 	 	 		 	 	 	 	
-				FROM
-					MJ_MSG_DATA B
-				WHERE 
-					B.MSG_GROUP_ID = msgGroupId
-					LIMIT 1
-			) AS atchFiles				
+ 			,(SELECT
+				CONCAT(
+					(IF(B.FILE_PATH1 IS NOT NULL
+						, (SELECT
+								ATCH_FILE_ID
+							FROM
+								LETTNFILEDETAIL 
+							WHERE 1=1
+								AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1))
+							LIMIT 1)
+						, '')
+					)
+					, '^'
+					, (IF(B.FILE_PATH2 IS NOT NULL
+						, (SELECT 
+								ATCH_FILE_ID
+							FROM
+								LETTNFILEDETAIL 
+							WHERE 1=1
+								AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1))
+							LIMIT 1)
+						, '')
+					)
+					, '^'
+					, (IF(B.FILE_PATH3 IS NOT NULL
+						, (SELECT
+								ATCH_FILE_ID
+							FROM
+								LETTNFILEDETAIL
+							WHERE 1=1
+								AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1))
+							LIMIT 1)
+						, '')
+					)
+				)
+			FROM
+				MJ_MSG_DATA B
+			WHERE 1=1
+				AND B.MSG_GROUP_ID = msgGroupId
+			LIMIT 1
+			) AS atchFiles
 		FROM
 			(SELECT
-				(SELECT	count(1) 
-					 FROM
-						(SELECT
-								(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS resultCodeTxt,
-								MGD.MSG_GROUP_ID
-						FROM	MJ_MSG_GROUP_DATA MGD
+				(SELECT
+					count(1) 
+				FROM
+					(SELECT
+						(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS resultCodeTxt
+						, MGD.MSG_GROUP_ID
+					FROM
+						MJ_MSG_GROUP_DATA MGD
 						LEFT JOIN MJ_MSG_DATA MD
 						ON	MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
-						WHERE	MGD.USER_ID = #userId#
+					WHERE 1=1
+						AND MGD.USER_ID = #userId#
 						AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde#
+						
+						<isNotEmpty property="sendKind">
+							<isEqual property="sendKind" compareValue="H">
+								AND MGD.SEND_KIND = 'H'
+							</isEqual>
+							<isEqual property="sendKind" compareValue="A">
+								AND MGD.SEND_KIND = 'A'
+							</isEqual>
+						</isNotEmpty>
+						
+						<isNotEmpty property="searchKeyword">
+							<isEqual prepend="AND" property="searchCondition" compareValue="">
+								( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')  OR  MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') )
+							</isEqual>
+							<isEqual prepend="AND" property="searchCondition" compareValue="1">
+								MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')
+							</isEqual>
+							<isEqual prepend="AND" property="searchCondition" compareValue="2">
+								MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%')
+							</isEqual>
+						</isNotEmpty>
+						
 						<isNotEmpty property="reserveType">
 							<isEqual property="reserveType" compareValue="D">
 								<![CDATA[ 
@@ -4533,20 +4568,24 @@
 								]]>
 							</isEqual>
 						</isNotEmpty>
-							) sub2
-						WHERE	sub2.resultCodeTxt = 'S'
-						AND		sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID
-					) AS msgGroupSCnt
+					) sub2
+				WHERE 1=1
+					AND sub2.resultCodeTxt = 'S'
+					AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID
+				) AS msgGroupSCnt
 				, COUNT(MSG_GROUP_ID) * EACH_PRICE	AS totSPrice
-				, (SELECT	count(1) 
-					 FROM
+				, (SELECT
+						count(1)
+					FROM
 						(SELECT
-								(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS resultCodeTxt,
-								MGD.MSG_GROUP_ID
-							FROM	MJ_MSG_GROUP_DATA MGD
+							(<include refid="MjonMsgSentDAO.selectAgentResultQuery_MD"/>) AS resultCodeTxt
+							, MGD.MSG_GROUP_ID
+						FROM
+							MJ_MSG_GROUP_DATA MGD
 							LEFT JOIN MJ_MSG_DATA MD
-							ON	MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
-							WHERE	MGD.USER_ID = #userId#
+							ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
+						WHERE 1=1
+							AND MGD.USER_ID = #userId#
 							AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde#
 							<isNotEmpty property="reserveType">
 								<isEqual property="reserveType" compareValue="D">
@@ -4562,15 +4601,17 @@
 									]]>
 								</isEqual>
 							</isNotEmpty>
-							) sub2
-						WHERE	<![CDATA[ sub2.resultCodeTxt <> 'S' ]]>
-						AND		sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID
+						) sub2
+						WHERE 1=1
+							AND <![CDATA[ sub2.resultCodeTxt <> 'S' ]]>
+							AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID
 					) AS msgGroupFWCnt
 				, '0'								AS totFWPrice
 				, MSG_GROUP_ID						AS msgGroupId
 				, USER_ID							AS userId
 				, CALL_FROM							AS callFrom
 				, CALL_TO							AS callTo
+				, SEND_KIND							AS sendKind
 				, SMS_TXT							AS smsTxt
 				, FILE_CNT							AS fileCnt
 				, MSG_TYPE							AS msgType
@@ -4601,6 +4642,7 @@
 					, MGD.USER_ID
 					, MGD.CALL_FROM
 					, MD.CALL_TO
+					, MGD.SEND_KIND
 					, MGD.SMS_TXT
 					, MGD.FILE_CNT
 					, MD.MSG_TYPE
@@ -4657,6 +4699,26 @@
 					</isEqual>
 					AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde#
 					
+					<isNotEmpty property="sendKind">
+						<isEqual property="sendKind" compareValue="H">
+							AND MGD.SEND_KIND = 'H'
+						</isEqual>
+						<isEqual property="sendKind" compareValue="A">
+							AND MGD.SEND_KIND = 'A'
+						</isEqual>
+					</isNotEmpty>
+					
+					<isNotEmpty property="searchKeyword">
+						<isEqual prepend="AND" property="searchCondition" compareValue="">
+							( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')  OR  MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') )
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="1">
+							MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="2">
+							MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+					</isNotEmpty>
 					<isNotEmpty property="reserveType">
 						<isEqual property="reserveType" compareValue="D">
 						<![CDATA[ 
@@ -4670,18 +4732,18 @@
 						AND MGD.RESERVE_YN = 'Y'
 						]]>
 						/**30분 지연이 아니거나 지연 처리가 완료된 건들 불러오기*/
-		                 AND
-	                         (
-	                                 (
-	                                         MGD.DELAY_YN          = 'N'
-	                                 AND     MGD.DELAY_COMPLETE_YN = 'N'
-	                                 )
-	                         OR
-	                                 (
-	                                         MGD.DELAY_YN          = 'Y'
-	                                 AND     MGD.DELAY_COMPLETE_YN = 'Y'
-	                                 )
-	                         )
+						AND
+						(
+							(
+								MGD.DELAY_YN = 'N'
+								AND MGD.DELAY_COMPLETE_YN = 'N'
+							)
+							OR
+							(
+								MGD.DELAY_YN = 'Y'
+								AND MGD.DELAY_COMPLETE_YN = 'Y'
+							)
+						)
 						</isEqual>
 					</isNotEmpty>
 					
@@ -4803,8 +4865,8 @@
 						ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID
 					LEFT JOIN (SELECT CODE_NM  ,CODE , CODE_DC FROM LETTCCMMNDETAILCODE WHERE USE_AT  = 'Y' AND CODE_ID = 'ITN019' )B
 						ON MD.AGENT_CODE = B.CODE
-				WHERE
-					MGD.USER_ID = #userId#
+				WHERE 1=1
+					AND MGD.USER_ID = #userId#
 					AND MGD.MSG_TYPE IN (4, 6)
 					<isNotEmpty property="msgType">
 					AND MGD.MSG_TYPE = #msgType#
@@ -4816,6 +4878,28 @@
 					AND MGD.FILE_CNT = 0
 					</isEqual>
 					AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde#
+					
+					<isNotEmpty property="sendKind">
+						<isEqual property="sendKind" compareValue="H">
+							AND MGD.SEND_KIND = 'H'
+						</isEqual>
+						<isEqual property="sendKind" compareValue="A">
+							AND MGD.SEND_KIND = 'A'
+						</isEqual>
+					</isNotEmpty>
+					
+					<isNotEmpty property="searchKeyword">
+						<isEqual prepend="AND" property="searchCondition" compareValue="">
+							( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')  OR  MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') )
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="1">
+							MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="2">
+							MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+					</isNotEmpty>
+					
 					<isNotEmpty property="reserveType">
 						<isEqual property="reserveType" compareValue="D">
 						<![CDATA[ 
@@ -4924,6 +5008,27 @@
 					</isEqual>
 					AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde#
 					
+					<isNotEmpty property="sendKind">
+						<isEqual property="sendKind" compareValue="H">
+							AND MGD.SEND_KIND = 'H'
+						</isEqual>
+						<isEqual property="sendKind" compareValue="A">
+							AND MGD.SEND_KIND = 'A'
+						</isEqual>
+					</isNotEmpty>
+					
+					<isNotEmpty property="searchKeyword">
+						<isEqual prepend="AND" property="searchCondition" compareValue="">
+							( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')  OR  MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') )
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="1">
+							MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+						<isEqual prepend="AND" property="searchCondition" compareValue="2">
+							MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%')
+						</isEqual>
+					</isNotEmpty>
+					
 					<isNotEmpty property="reserveType">
 						<isEqual property="reserveType" compareValue="D">
 						<![CDATA[ 
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
@@ -1331,6 +1331,7 @@
 					AND A.MSG_GROUP_ID = A.msgGroupId
 					AND (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) = 'S'
 			) AS successCnt
+			, MGD.SEND_KIND	AS sendKind
 			, MGD.SMS_TXT	AS smsTxt
 			, userdata
 			, curState
@@ -1451,6 +1452,7 @@
 					AND A.MSG_GROUP_ID = A.msgGroupId
 					AND (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) = 'S'
 			) AS successCnt
+			, MGD.SEND_KIND	AS sendKind
 			, MGD.SMS_TXT	AS smsTxt
 			, userdata
 			, curState
@@ -1574,6 +1576,7 @@
 					AND A.MSG_GROUP_ID = A.msgGroupId
 					AND (<include refid="MjonMsgSentDAO.selectAgentResultQuery_A"/>) = 'S'
 			) AS successCnt
+			, MGD.SEND_KIND	AS sendKind
 			, MGD.SMS_TXT	AS smsTxt
 			, userdata
 			, curState
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp
@@ -120,6 +120,10 @@
 	$('#ntceEnddeYYYMMDD').val('');
 	$('#ntceBgnde').val('');
 	$('#ntceEndde').val('');
+	
+	$('#searchKeyword').val('');
+	$('#sendKind').val('').prop("selected",true);
+	$('#searchCondition').val('').prop("selected",true);
 }
 
 
@@ -343,6 +347,7 @@
 				<table class="tbType1">
 					<colgroup>
 						<col style="width:5.00%">
+						<col style="width:5.00%">
 						<col style="width:5.50%">
 						<col style="width:7.00%">
 						<col style="width:7.50%">
@@ -361,6 +366,7 @@
 					</colgroup>
 					<thead>
 						<tr>
+							<th rowspan="2">방식</th>
 							<th colspan="4">단문</th>
 							<th colspan="4">장문</th>
 							<th colspan="4">그림문자</th>
@@ -387,51 +393,93 @@
 					</thead>
 					<tbody>
 						<tr>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgSmsGroupSCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsSPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgSmsGroupFWCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsFWPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupSCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsSPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupFWCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsFWPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupSCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsSPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupFWCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsFWPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupSCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSPriceSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupFWCntSum}" pattern="#,###" /></span></td>
-							<td><span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totFWPriceSum}" pattern="#,###" /></span></td>
+							<td>
+								전체
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold">
+									<fmt:formatNumber value="${msgSmsGroupSCntSum}" pattern="#,###" />
+								</span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsSPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgSmsGroupFWCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSmsFWPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupSCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsSPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgLmsGroupFWCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totLmsFWPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupSCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsSPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgMmsGroupFWCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totMmsFWPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupSCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totSPriceSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${msgGroupFWCntSum}" pattern="#,###" /></span>
+							</td>
+							<td>
+								<span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${totFWPriceSum}" pattern="#,###" /></span>
+							</td>
 						</tr>
 					</tbody>
 				</table>
 			</div>
 			
 			<div class="listSerch">
-				<select name="searchCondition" class="select" title="검색조건 선택">
+				
+				<select id="sendKind" name="sendKind" class="select" title="검색조건 선택">
+					<option value="" <c:if test="${searchVO.sendKind == ''}">selected="selected"</c:if>>발송방식 전체</option>
+					<option value="H" <c:if test="${searchVO.sendKind == 'H'}">selected="selected"</c:if>>WEB</option>
+					<option value="A" <c:if test="${searchVO.sendKind == 'A'}">selected="selected"</c:if>>API</option>
+				</select>
+				
+				<select id="searchCondition" name="searchCondition" class="select" title="검색조건 선택">
 					<option value="" <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>>발신번호/내용</option>
-					<%-- <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>사용자ID</option> --%>
-					<option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>발신번호</option>
-					<option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>>전송내용</option>
+					<option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>>발신번호</option>
+					<option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>>전송내용</option>
 				</select>
 				
 				<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100" />
 				<input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;">
 				
 				<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
-			    <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
-			    <input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
-			    value="<c:out value="${searchVO.ntceBgnde}" />" >
-			   	 	<input type="button" class="calBtn">
-		    	</a>
-		    	&nbsp;&nbsp;~    	
-			    <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
-				<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
-		    	value="<c:out value="${searchVO.ntceEndde}" />"
-		    	>
-			   	 	<input type="button" class="calBtn">
-		    	</a>
+				<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
+					<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
+					value="<c:out value="${searchVO.ntceBgnde}" />" >
+					<input type="button" class="calBtn">
+				</a>
+				&nbsp;&nbsp;~
+				<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
+					<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
+					value="<c:out value="${searchVO.ntceEndde}" />" >
+					<input type="button" class="calBtn">
+				</a>
 				<a href="#" style="margin-left: 17px;" onclick="init_date(); return false;">
 					<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
 				</a>		    
@@ -462,7 +510,7 @@
 						<col style="width: 6%">
 						<%-- <col style="width: 8%"> --%>
 						<%-- <col style="width: 6%"> --%>
-						<%--<col style="width: 6%">--%>
+						<col style="width: 6%">
 						<col style="width: 8%">
 						<col style="width: 7%">
 						<col style="width: 7%">
@@ -482,9 +530,7 @@
 							<th>예약</th>
 							<th>내용</th>
 							<th>타입</th>
-							<!-- <th>금액</th> -->
-							<!-- <th>발송결과</th> -->
-							<%--<th>전송사</th>--%>
+							<th>방식</th>
 							<th>스미싱의심</th>
 							<th>이용정지</th>
 							<th>발송처리</th>
@@ -495,24 +541,24 @@
 						<tr>
 							<td>
 								<c:if test="${searchVO.searchSortOrd eq 'desc' }">
-		                			<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
-			                	</c:if>
-			                	<c:if test="${searchVO.searchSortOrd eq 'asc' }">
+									<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
+								</c:if>
+								<c:if test="${searchVO.searchSortOrd eq 'asc' }">
 									<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>                   		
-			                	</c:if>
+								</c:if>
 							</td>
 							<td>
 								<c:out value="${result.callFrom}"/>
 							</td>
 							<td title="<c:out value="${result.regDate}"/>">
 								<fmt:parseDate value="${result.regDate}" var="regDateValue" pattern="yyyy-MM-dd HH:mm"/>
-								<fmt:formatDate value="${regDateValue}" pattern="MM-dd HH:mm"/>																						
+								<fmt:formatDate value="${regDateValue}" pattern="MM-dd HH:mm"/>
 							</td>
 							<td>
 								<c:choose>
 									<c:when test="${result.reserveCYn eq 'Y'}">
 										<c:out value="${result.cancelDate}"/>
-									</c:when>                                                
+									</c:when>
 									<c:when test="${result.reserveYn eq 'Y' && result.reserveCYn eq 'N'}">
 										<c:out value="${result.reqDate}"/>
 									</c:when>
@@ -525,21 +571,13 @@
 								</c:choose>
 							</td>
 							<td>
-								<%-- <c:choose>
-									<c:when test="${result.resultCodeTxt eq 'S'}">
-										<fmt:formatNumber value="${result.msgGroupSCnt}" pattern="#,###" />
-									</c:when>
-									<c:otherwise>
-										<fmt:formatNumber value="${result.msgGroupFWCnt}" pattern="#,###" />
-									</c:otherwise>
-								</c:choose> --%>
 								<fmt:formatNumber value="${result.msgGroupSCnt}" pattern="#,###" />/<fmt:formatNumber value="${result.msgGroupFWCnt}" pattern="#,###" />(<fmt:formatNumber value="${(result.msgGroupSCnt / (result.msgGroupSCnt + result.msgGroupFWCnt)) * 100}" pattern="#,###" />%)
 							</td>							
 							<td>
 								<c:choose>
 									<c:when test="${result.reserveCYn eq 'Y'}">
 										예약취소
-									</c:when>                                                
+									</c:when>
 									<c:when test="${result.reserveYn eq 'Y' && result.reserveCYn eq 'N'}">
 										예약
 									</c:when>
@@ -547,27 +585,7 @@
 										즉시
 									</c:otherwise>
 								</c:choose>
-
-							</td>							
-							<%--
-							<td class="msg_detail">
-									<button type="button" class="btnType btnType20" id="msgDetail" name="msgDetail" onclick="msgDetailView(this, '<c:out value="${result.msgGroupId}"/>', '${status.count}'); return false;">상세보기</button>
-								<div class="layer_msg_wrap">
-									<div class="layer_msg_detail">
-										<button type="button" onclick="msgDetailClose(this);"></button>
-										<div class="title">
-										<c:choose>
-											<c:when test="${result.msgType eq '4'}">단문</c:when>
-											<c:when test="${result.msgType eq '6' && result.fileCnt > 0}">그림(<c:out value="${result.fileCnt}"/>장)</c:when>
-											<c:otherwise>장문</c:otherwise>
-										</c:choose>
-										</div>
-										<div class="content msgSentDetailPopLoad${status.count}">
-										</div>
-									</div>
-								</div>
 							</td>
-							--%>
 							<td class="sms_detail left">
 								<c:choose>
 									<c:when test="${empty result.smsTxt}">
@@ -612,8 +630,7 @@
 										</div>
 									</c:otherwise>
 								</c:choose>
-							</td>							
-							
+							</td>
 							<td>
 								<c:choose>
 									<c:when test="${result.msgType eq '4'}">
@@ -627,30 +644,16 @@
 									</c:otherwise>
 								</c:choose>
 							</td>
-							<%-- <td>
+							<td>
 								<c:choose>
-									<c:when test="${result.resultCodeTxt eq 'S'}">
-										<fmt:formatNumber value="${result.totSPrice}" pattern="#,###" />
+									<c:when test="${result.sendKind eq 'A'}">
+										API
 									</c:when>
-									<c:otherwise>
-										<fmt:formatNumber value="${result.totFWPrice}" pattern="#,###" />
-									</c:otherwise>
+									<c:when test="${result.sendKind eq 'H'}">
+										홈페이지
+									</c:when>
 								</c:choose>
-							</td> --%>
-							<%-- <td>
-								<c:choose>
-									<c:when test="${result.resultCodeTxt eq 'S'}">
-										정상수신
-									</c:when>
-									<c:when test="${result.resultCodeTxt eq 'F'}">
-										수신오류
-									</c:when>
-									<c:otherwise>
-										결과대기
-									</c:otherwise>
-								</c:choose>
-							</td> --%>
-							<%--<td><c:out value="${result.agentCodeTxt}"/></td>--%>
+							</td>
 							<td>
 								<c:choose>
 									<c:when test="${result.delayYn eq 'Y'}">
@@ -702,7 +705,7 @@
 						</tr>
 						</c:forEach>
 						<c:if test="${empty resultList}">
-		         			<tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
+		         			<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
 		         		</c:if>    
 					</tbody>
 				</table>
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
@@ -3721,6 +3721,7 @@
 								<colgroup>
 									<col style="width:5%;">
 									<col style="width:7%;">
+									<col style="width:7%;">
 									<col style="width:9%;">
 									<col style="width:13%;">
 									<col style="width:15%;">
@@ -3733,6 +3734,7 @@
 									<tr>
 										<th>번호</th>
 										<th>종류</th>
+										<th>방식</th>
 										<th>등록일시</th>
 										<th>전송일시</th>
 										<th>발신번호</th>
@@ -3747,7 +3749,9 @@
 										<c:when test="${not empty mjonMsgSentList}">
 											<c:forEach var="mjonMsgSentList" items="${mjonMsgSentList}" varStatus="status">
 												<tr>
-													<td><c:out value="${status.count}"/></td>
+													<td>
+														<c:out value="${status.count}"/>
+													</td>
 													<td>
 														<c:choose>
 															<c:when test="${mjonMsgSentList.msgType == '4'}">
@@ -3769,6 +3773,16 @@
 															<c:otherwise>
 																장문
 															</c:otherwise>
+														</c:choose>
+													</td>
+													<td>
+														<c:choose>
+															<c:when test="${mjonMsgSentList.sendKind == 'H'}">
+																WEB
+															</c:when>
+															<c:when test="${mjonMsgSentList.sendKind == 'A'}">
+																API
+															</c:when>
 														</c:choose>
 													</td>
 													<td>
@@ -3898,7 +3912,7 @@
 										</c:when>
 										<c:otherwise>
 											<tr>
-												<td colspan="9">문자 발송 내역이 없습니다.</td>
+												<td colspan="10">문자 발송 내역이 없습니다.</td>
 											</tr>
 										</c:otherwise>
 									</c:choose>
@@ -3916,6 +3930,7 @@
 								<colgroup>
 									<col style="width:5%;">
 									<col style="width:7%;">
+									<col style="width:7%;">
 									<col style="width:9%;">
 									<col style="width:13%;">
 									<col style="width:15%;">
@@ -3928,6 +3943,7 @@
 									<tr>
 										<th>번호</th>
 										<th>종류</th>
+										<th>방식</th>
 										<th>등록일시</th>
 										<th>요청일시</th>
 										<th>발신번호</th>
@@ -3964,6 +3980,16 @@
 															<c:otherwise>
 																장문
 															</c:otherwise>
+														</c:choose>
+													</td>
+													<td>
+														<c:choose>
+															<c:when test="${mjonMsgSentList.sendKind == 'H'}">
+																WEB
+															</c:when>
+															<c:when test="${mjonMsgSentList.sendKind == 'A'}">
+																API
+															</c:when>
 														</c:choose>
 													</td>
 													<td>
@@ -4094,7 +4120,7 @@
 										</c:when>
 										<c:otherwise>
 											<tr>
-												<td colspan="9">예약 문자 내역이 없습니다.</td>
+												<td colspan="10">예약 문자 내역이 없습니다.</td>
 											</tr>
 										</c:otherwise>
 									</c:choose>
@@ -4116,6 +4142,7 @@
 							<colgroup>
 								<col style="width:5%;">
 								<col style="width:7%;">
+								<col style="width:7%;">
 								<col style="width:13%;">
 								<col style="width:14%;">
 								<col style="width:15%;">
@@ -4128,6 +4155,7 @@
 								<tr>
 									<th><input type="checkbox" name="checkDelayAll" id="checkAll" onclick="fnCheckAll();" /><label for="checkAll"></label></th>
 									<th>종류</th>
+									<th>방식</th>
 									<th>등록일시</th>
 									<th>전송일시</th>
 									<th>발신번호</th>
@@ -4168,6 +4196,16 @@
 														<c:otherwise>
 															장문
 														</c:otherwise>
+													</c:choose>
+												</td>
+												<td>
+													<c:choose>
+														<c:when test="${mjonMsgDelaySentList.sendKind == 'H'}">
+															WEB
+														</c:when>
+														<c:when test="${mjonMsgDelaySentList.sendKind == 'A'}">
+															API
+														</c:when>
 													</c:choose>
 												</td>
 												<td>
@@ -4293,7 +4331,7 @@
 									</c:when>
 									<c:otherwise>
 										<tr>
-											<td colspan="9">문자 지연 내역이 없습니다.</td>
+											<td colspan="10">문자 지연 내역이 없습니다.</td>
 										</tr>
 									</c:otherwise>
 								</c:choose>
Add a comment
List