이호영 이호영 2025-04-28
Merge branch 'master' into 5102_친구톡_발송속도_개선
@dfc2ad11d5f43a87c6f73b67b21699734b05bca3
src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentDAO.java
--- src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentDAO.java
+++ src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentDAO.java
@@ -126,8 +126,13 @@
 	}
 	
 	//발송 관리 문자발송 내용 상세보기 팝업[그룹]
-		public MjonKakaoATVO selectKakaoSentDetailViewPhoneAjax(MjonKakaoATVO KakaoSentVO) throws Exception{
-			return (MjonKakaoATVO) select("KakaoSentDAO.selectKakaoSentDetailViewPhoneAjax", KakaoSentVO);
-		}	
+	public MjonKakaoATVO selectKakaoSentDetailViewPhoneAjax(MjonKakaoATVO KakaoSentVO) throws Exception{
+		return (MjonKakaoATVO) select("KakaoSentDAO.selectKakaoSentDetailViewPhoneAjax", KakaoSentVO);
+	}	
+		
+	@SuppressWarnings("unchecked")
+	public List<KakaoSentVO> selectAllKakaoSentListExcel_advc(KakaoSentVO kakaoSentVO) throws Exception{
+		return (List<KakaoSentVO>) list("KakaoSentDAO.selectAllKakaoSentListExcel_advc",kakaoSentVO);
+	}
 	
 }
src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java
--- src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java
+++ src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java
@@ -302,9 +302,13 @@
 		result.setKakaoResendSuccCount(eachCnt.getKakaoResendSuccCount());
 		result.setKakaoResendFailCount(eachCnt.getKakaoResendFailCount());
 		
+		result.setMsgGroupCnt(
+				Integer.valueOf(result.getSuccessCount() + result.getWaitCount() + result.getFailCount()).toString()
+				);
 		
 		//완료상태 시작
 		result = this.codeProc(result);
+		
 		
 		//완료상태 끝
 		//=======================================================
@@ -470,7 +474,7 @@
 		}
 		
 		//예약 관리 리스트 불러오기
-		List<KakaoSentVO> resultList = kakaoSentDAO.selectAllKakaoSentList_advc(kakaoSentVO);
+		List<KakaoSentVO> resultList = kakaoSentDAO.selectAllKakaoSentListExcel_advc(kakaoSentVO);
 
 //		long startTime = System.nanoTime(); // 시작 시간 측정
 //		resultAllSentList = makeDetailFunction(resultAllSentList);
src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java
--- src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java
+++ src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java
@@ -211,7 +211,7 @@
 
 		// 외부에서 선거발송 페이지로 들어오는걸 막음
 		// 20250102 이호영
-		if (!"localhost".equals(hostName)) {
+		if (!"localhost".equals(hostName) && !"119.193.215.98".equals(hostName)) {
 			return "redirect:/web/mjon/msgdata/selectMsgDataView.do";
 		}
 
src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
@@ -1357,6 +1357,111 @@
 	
 	<!-- 전체 발송결과 조회  (그룹별)-->
 	<select id="KakaoSentDAO.selectAllKakaoSentList_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
+			/*	KakaoSentDAO.selectAllKakaoSentList_advc	*/
+			
+				SELECT COUNT(B.USER_ID) OVER ()    AS totMsgCnt,
+				       B.USER_ID                   AS userId,
+				       B.MSG_GROUP_ID              AS msgGroupId,
+				       B.SMS_TXT                   AS smsTxt,
+				       B.SUBJECT                   AS subject,
+				       B.SUBJECT_CHK_YN            AS subjectChkYn,
+				       B.REGDATE                   AS regDate,
+				       B.REQ_DATE                  AS reqDate,
+				       CASE
+				           WHEN B.DELAY_YN = 'Y' AND B.DELAY_COMPLETE_YN = 'N'
+				               THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE)
+				           ELSE B.REQ_DATE
+				           END                     AS delayOrgTime,
+				       B.CALL_FROM                 AS callFrom,
+				       B.TOT_PRICE                 AS totPrice,
+				       B.EACH_PRICE                AS eachPrice,
+				       B.MSG_TYPE                  AS msgType,
+				       B.FILE_CNT                  AS fileCnt,
+				       B.AGENT_CODE                AS agentCode,
+				       B.CANCELDATE                AS canceldate,
+				       B.DEL_FLAG                  AS delFlag,
+				       B.SEND_KIND                 AS sendKind,
+				       B.MSG_KIND                  AS msgKind,
+				       B.DELAY_YN                  AS delayYn,
+				       B.DELAY_COMPLETE_YN         AS delayCompleteYn,
+				       B.RESERVE_YN                AS reserveYn,
+				       B.RESERVE_C_YN              AS reserveCYn,
+				       TIMESTAMPDIFF(
+				               MINUTE,
+				               CAST(DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d %H:%i') AS CHAR),
+				               DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i')
+				       )                           AS diffMin,
+				       B.AT_DELAY_YN               AS atDelayYn,
+				       B.AT_DELAY_COMPLETE_YN      AS atDelayCompleteYn,
+				       A.MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey,
+				       A.BIZ_KAKAO_RESEND_YN       AS bizKakaoResendYn,
+				       CASE
+				           WHEN B.AT_DELAY_YN = 'Y' AND B.AT_DELAY_COMPLETE_YN = 'N'
+				               THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE)
+				           ELSE B.REQ_DATE
+				           END                     AS atDelayOrgTime,
+				       C.YELLOW_ID                 AS yellowId
+				FROM MJ_MSG_GROUP_DATA B
+			         INNER JOIN (
+					         select MSG_GROUP_ID, MSG_TYPE, DEL_FLAG, MSG_NOTICETALK_SENDER_KEY, BIZ_KAKAO_RESEND_YN
+						      from MJ_MSG_DATA
+						      where DEL_FLAG = 'N'
+						        <isNotEmpty property="tabType">
+									<isEqual property="tabType" compareValue="at">
+										AND MSG_TYPE = '8'
+									</isEqual>
+									<isEqual property="tabType" compareValue="ft">
+										AND MSG_TYPE = '9'
+									</isEqual>
+									<isEqual property="tabType" compareValue="all">
+										AND MSG_TYPE  IN ('8','9')
+									</isEqual>
+								</isNotEmpty>
+								<isEmpty property="tabType">
+										AND MSG_TYPE IN ('8','9')
+								</isEmpty>
+						      group by MSG_GROUP_ID) A
+				     	ON A.MSG_GROUP_ID = B.MSG_GROUP_ID
+				     LEFT JOIN MJ_KAKAO_PROFILE_INFO C
+				     	ON A.MSG_NOTICETALK_SENDER_KEY = C.SENDER_KEY
+				WHERE    (
+				                  B.DEL_FLAG = 'N' OR B.DEL_FLAG IS NULL
+				         )
+				AND      B.USER_ID                           = #userId#
+				<isNotEmpty property="startDate">
+					AND      DATE_FORMAT(B.REGDATE, '%Y-%m-%d') <![CDATA[ >= ]]> DATE_FORMAT(#startDate#, '%Y-%m-%d')
+				</isNotEmpty>
+				<isNotEmpty property="endDate">
+					AND      DATE_FORMAT(B.REGDATE, '%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(#endDate#, '%Y-%m-%d')
+				</isNotEmpty>
+				<isNotEmpty property="stateType">
+					<isEqual property="stateType" compareValue="Y">
+						AND B.RESERVE_YN  = 'Y'
+					</isEqual>
+					<isEqual property="stateType" compareValue="N">
+						AND B.RESERVE_YN  = 'N'
+					</isEqual>
+				</isNotEmpty>
+				<isNotEmpty property="searchKeyword">
+					<isEqual property="searchCondition" compareValue="3">
+						AND  B.SMS_TXT like CONCAT('%', #searchKeyword#, '%')
+					</isEqual>
+				</isNotEmpty>
+				GROUP BY B.MSG_GROUP_ID
+				ORDER BY 1=1
+				<isNotEmpty property="searchSortCnd">
+					,$searchSortCnd$
+				</isNotEmpty>
+				<isNotEmpty property="searchSortOrd">
+					$searchSortOrd$
+				</isNotEmpty>
+				LIMIT    #recordCountPerPage#
+				OFFSET   #firstIndex#
+
+		</select>
+	
+	<!-- 전체 발송결과 조회  (그룹별)-->
+	<select id="KakaoSentDAO.selectAllKakaoSentListExcel_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
 		/*	KakaoSentDAO.selectAllKakaoSentList_advc	*/
 		SELECT t1.totMsgCnt,
 		       t1.userId,
@@ -1612,7 +1717,7 @@
 		            WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y'
 		            ELSE 'N'
 		        END AS divideYN
-		    FROM mj_msg_data t1
+		    FROM mj_msg_data t1 FORCE INDEX (idx_msgdata_groupid_delfalg_msgtype_curstate)
 		    LEFT OUTER JOIN BIZ_LOG BL1 ON t1.BIZ_UMID = BL1.CMID
 		    WHERE 
 		        t1.DEL_FLAG = 'N'
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
@@ -970,7 +970,7 @@
 	var denyTxtLeng = conByteLeng('무료 거부 080-880-0858');
 	
 	var campFrtTxtLeng = conByteLeng('(선거운동정보)');
-	var campLstTxtLeng = conByteLeng('후보자전화번호 불법수집정보 신고번호 118번 무료 거부 080-880-0858');
+	var campLstTxtLeng = conByteLeng('후보자전화번호 불법수집정보 신고번호 : 선거관리위원회 ☎1390 무료 거부 080-880-0858');
 	
 	//일반문자, 광고문자에 따른 문자 길이 변경해주기
 	if(msgKind == "N"){
@@ -4595,7 +4595,8 @@
 												<td>
 													<c:choose>
 														<c:when test="${not empty mjonMsgDelaySentList.regDate}">
-															<fmt:formatDate value="${mjonMsgDelaySentList.regDate}" pattern="yyyy-MM-dd HH:mm"/>
+<%-- 															<fmt:formatDate value="${mjonMsgDelaySentList.regDate}" pattern="yyyy-MM-dd HH:mm"/> --%>
+                                                            <c:out value="${mjonMsgDelaySentList.regDate}" />
 														</c:when>
 														<c:otherwise>
 															-
@@ -4613,7 +4614,8 @@
 														<c:otherwise>
 															<c:choose>
 																<c:when test="${mjonMsgDelaySentList.delayYn eq 'Y'}">
-																	[스미싱의심] <fmt:formatDate value="${mjonMsgDelaySentList.reqDate}" pattern="yyyy-MM-dd HH:mm"/>
+                                                                    [스미싱의심]     <c:out value="${mjonMsgDelaySentList.regDate}" />
+<%-- 																	[스미싱의심] <fmt:formatDate value="${mjonMsgDelaySentList.reqDate}" pattern="yyyy-MM-dd HH:mm"/> --%>
 																</c:when>
 																<c:otherwise>
 																	-
src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailView.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailView.jsp
@@ -903,6 +903,8 @@
 		<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition }' />" />
 		<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword }' />" />
 		<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageUnit }' />" />
+		<input type="hidden" name="tabType" value="<c:out value='${searchVO.tabType }' />" />
+		<input type="hidden" name="stateType" value="<c:out value='${searchVO.stateType }' />" />
 	</form>
 	
 	<!-- 예약 취소 -->
src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentView.jsp
@@ -16,7 +16,82 @@
 var threefulstday = "";		//3개월전 시작일
 var threefuledday = "";		//3개월전 마지막일
 
+function firstLodingSet(){
+	var html = "";
+	html += '<div class="list_info">';
+	html += '    <p>총 발송건수 <span class="c_e40000">0</span>건</p>';
+	html += '    <div>';
+	html += '        <p class="cf_text c_e40000">※ 예약 발송취소는 예약 발송시간 기준 5분 전까지만 가능</p>';
+	html += '        <label for="pageUnit" class="label">줄보기 선택</label>';
+	html += '        <select id="pageUnit" name="pageUnit" class="selType2">';
+	html += '            <option value="10" selected>10개보기</option>';
+	html += '        </select>';
+	html += '    </div>';
+	html += '</div>';
+	html += '<div class="tb_wrap">';
+	html += '    <table class="tType4">';
+	html += '        <colgroup>';
+	html += '            <col style="width: 45px;">';
+	html += '            <col style="width: 12%;">';
+	html += '            <col style="width: 7%;">';
+	html += '            <col style="width: auto;">';
+	html += '            <col style="width: 7%;">';
+	html += '            <col style="width: 6%;">';
+	html += '            <col style="width: 6%;">';
+	html += '            <col style="width: 6%;">';
+	html += '            <col style="width: 6%;">';
+	html += '            <col style="width: 6%;">';
+	html += '            <col style="width: 8%;">';
+	html += '            <col style="width: 8%;">';
+	html += '        </colgroup>';
+	html += '        <thead>';
+	html += '            <tr>';
+	html += '                <th rowspan="2">';
+	html += '                    <label for="" class="label">전체 선택</label>';
+	html += '                    <input type="checkbox" id="allCheck" name="allCheck">';
+	html += '                </th>';
+	html += '                <th rowspan="2">발송일시';
+	html += '                    <div class="sort_wrap">';
+	html += '                        <input type="button" class="sort sortBtn" id="sort_reqdate">';
+	html += '                    </div>';
+	html += '                </th>';
+	html += '                <th rowspan="2">형태';
+	html += '                    <div class="sort_wrap">';
+	html += '                        <input type="button" class="sort sortBtn" id="sort_orderByCode">';
+	html += '                    </div>';
+	html += '                </th>';
+	html += '                <th rowspan="2">내용</th>';
+	html += '                <th rowspan="2">발송건수';
+	html += '                    <div class="sort_wrap">';
+	html += '                        <input type="button" class="sort sortBtn" id="sort_msgGroupCnt">';
+	html += '                    </div>';
+	html += '                </th>';
+	html += '                <th rowspan="2">대기</th>';												
+	html += '                <th colspan="2">카카오톡결과</th>';
+	html += '                <th colspan="2">대체문자결과</th>';
+	html += '                <th rowspan="2">금액(원)</th>';
+	html += '                <th rowspan="2">진행상황</th>';
+	html += '            </tr>';
+	html += '            <tr>';
+	html += '                <th>성공</th>';
+	html += '                <th>실패</th>';
+	html += '                <th>성공</th>';
+	html += '                <th>실패</th>';
+	html += '            </tr>';
+	html += '        </thead>';
+	html += '        <tbody>';
+	html += '            <tr><td colspan="12">LOADING...</td></tr>';
+	html += '        </tbody>';
+	html += '    </table>';
+	html += '</div>';
+	
+	$(".msgSentAllLoad").html(html);
+}
+
+
 $(document).ready(function(){
+	
+	firstLodingSet();
 	
 	//초기 전체 리스트 페이지 보여주기
 	var form = document.searchForm;
@@ -417,8 +492,10 @@
 					<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="tabType" name="tabType" value="all"/>탭 종류 -->
+					<input type="hidden" id="tabType" name="tabType" value="${searchVO.tabType}"/><!-- 탭 종류 -->
+					<!-- <input type="hidden" id="stateType" name="stateType" value="all"/>발송상태 종류 -->
+					<input type="hidden" id="stateType" name="stateType" value="${searchVO.stateType}"/><!-- 발송상태 종류 -->
 					<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}"/><!-- 주소록 그룹 이름 -->
@@ -584,7 +661,7 @@
 <!-- 								<div class="on_active">받는사람(전송건별)</div> -->
 <!-- 							</div> -->
 							<ul>
-								<li class="tab active">
+								<li class="tab <c:if test="${searchVO.stateType eq 'all' || searchVO.stateType eq '' || empty searchVO.stateType}">active</c:if>">
 									<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button>
 								</li>
 								<!-- <li class="tab">
@@ -596,10 +673,10 @@
 								<li class="tab">
 									<button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button>
 								</li> -->
-								<li class="tab">
+								<li class="tab <c:if test="${searchVO.stateType eq 'N'}">active</c:if>">
 									<button type="button" onclick="fnListLoad('N','1'); return false;">즉시</button>
 								</li>
-								<li class="tab">
+								<li class="tab" <c:if test="${searchVO.stateType eq 'Y'}">active</c:if>>
 									<button type="button" onclick="fnListLoad('Y','2'); return false;">예약</button>
 								</li>
 							</ul>
src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
@@ -2475,10 +2475,10 @@
 	var callFrom = $("#callFromList option:selected").val();
 	
 	var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
-	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
+	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
 	
 	var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
-	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
+	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
 	
 	//광고 및 무료수신거부 텍스트 추가
 	if ($("#send_adYnY").val() == 'Y'){
src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataSMLView.jsp
@@ -2755,10 +2755,10 @@
 	var callFrom = $("#callFromList option:selected").val();
 	
 	var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
-	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
+	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
 	
 	var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
-	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
+	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
 	
 	//선거 및 무료수신거부 텍스트 추가
 	if ($('input[name=send_adYn]:checked').val() == 'Y'){
src/main/webapp/WEB-INF/jsp/web/msgcampain/huge/MsgHGDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/huge/MsgHGDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/huge/MsgHGDataSMLView.jsp
@@ -3102,10 +3102,10 @@
 	var callFrom = $("#callFromList option:selected").val();
 	
 	var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
-	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
+	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
 	
 	var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
-	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
+	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
 	
 	//광고 및 무료수신거부 텍스트 추가
 	if ($('input[name=send_adYn]:checked').val() == 'Y'){
src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp
@@ -3365,10 +3365,10 @@
 	var callFrom = $("#callFromList option:selected").val();
 	
 	var advStr = '<div class="ad_txt"><p>(선거운동정보)</p></div>';
-	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 118번<br/>무료거부 0808800858</div>';
+	var advDenyStr = '<div class="deny_txt">후보자전화번호 ' + callFrom + '<br/>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br/>무료거부 0808800858</div>';
 	
 	var preAdvStr = '<p class="ad_tit">(선거운동정보)</p>';
-	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 118번<br>무료거부 0808800858</p>';
+	var preAdvDenyStr = '<p class="deny_receipt">후보자전화번호 ' + callFrom + '<br>불법수집정보 신고번호 : 선거관리위원회 ☎1390<br>무료거부 0808800858</p>';
 	
 	//광고 및 무료수신거부 텍스트 추가
 	if (!advMsgSts){//선거문자 필수문구 추가해주기
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
@@ -198,7 +198,8 @@
 								</c:if>	
 								<tr>
 									<td>
-										<fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${result.reqdate}" />
+<%-- 										<fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${result.reqDate}" /> --%>
+										<c:out value="${result.reqDate}" />
 									</td>
 									<td>
 										<c:choose>
src/main/webapp/publish/css/popupLayer.css
--- src/main/webapp/publish/css/popupLayer.css
+++ src/main/webapp/publish/css/popupLayer.css
@@ -296,7 +296,7 @@
 .histroy_trans ul {background-color: #f5f5f5; padding: 0 20px; border: 1px solid #dadada; border-radius: 0 0 5px 5px; margin-top: -3px;}
 .histroy_trans ul li {position: relative; height: 30px; line-height: 30px; border-bottom: 1px solid #e8e8e8;}
 .histroy_trans ul li:only-child {border-bottom: 0;}
-.histroy_trans ul li p {display: inline-block; width: 100%; color: #666; font-size: 14px; font-weight: 300; letter-spacing: 0.5px; text-align:center;}
+.histroy_trans ul li p {display: inline-block; color: #666; font-size: 14px; font-weight: 300; letter-spacing: 0.5px; text-align:center;}
 .histroy_trans ul li button {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
 .popup_btn_wrap2.hisroy_btn {width: 178px;}
 .popup_btn_wrap2.hisroy_btn button {width: calc(100%/2 - 2.5px); height: 32px; font-size: 14px;}
 
src/main/webapp/publish/maintenance.html (added)
+++ src/main/webapp/publish/maintenance.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html lang="ko">
+
+<head>
+    <meta charset="UTF-8">
+    <title>문자온 시스템 점검 안내</title>
+
+    <style>
+        body {background-color: #EEE;display:flex; justify-content: center; font-family: 'Noto Sans KR', sans-serif; }
+        .textbox {margin:100px 0 0 0; width:480px; border:15px solid #d8d8d8; padding:25px 40px 50px 40px; background-color: #fff;}
+        .textbox h1 {color:#222; font-size:24px; text-align: center; border-bottom:1px solid #a8a8a8; padding:0 0 20px 0; font-weight: 600;}
+        .textbox h3 {color:#333; font-size:16px; font-weight: 400; text-align: center; padding: 12px 0 14px 0; background-color: #f8f8f8; margin:20px 0 20px 0; border:1px solid #ededed; }
+        .textbox h3 strong {font-size:17px; font-weight:500px;}
+        .textbox p {text-align: center; margin: 8px 0 0 0; font-size:16px; font-weight: 400; color:#555; line-height: 26px; }
+        .textbox p span {color:#333;font-weight: 500; }  
+    </style>
+</head>
+
+<body>
+    <div class="textbox">
+        <h1>문자온 시스템 점검중입니다.</h1>
+        <h3>· 점검일시 : <strong>2025년 4월 28일(월) 08:30 ~ 08:35</strong> (약 5분간)</h3>
+        <p>현재 홈페이지 인증서 교체 작업을 위한 시스템 점검중에 있습니다.</p>
+        <p><span>(기)예약 설정 건은 정상 발송되며, <br>작업 이전 '발송대기'건은 작업 완료 후 발송 시도됩니다.</span></p>
+        <p>항상 더 나은 서비스 제공을 위해 노력하겠습니다.<br>
+           감사합니다.</p>
+    </div>
+
+</body>
+
+</html>(No newline at end of file)
Add a comment
List