rosewiper 2024-02-06
충돌 소스 수정
@83c7303731fcc5c422829490af03d1f9e4c8909f
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
@@ -3494,7 +3494,8 @@
 	
 	<!-- 사용자 요금 사용내역 Sum 리스트 -->
 	<select id="mjonMsgDAO.selectPayUserSumList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">		
-		/* 2024.01.26 검색 기준을 regdate 에서 reqdate로 기준을 잡자고 장건영팀장 요청으로 변경처리, sendCount는 사용하지 않아서 주석처리 */
+		/* 2024.01.26 검색 기준을 regdate 에서 reqdate로 기준을 잡자고 장건영팀장 요청으로 변경처리, msg_group_cnt는 사용하지 않아서 주석처리 */
+
 		SELECT
 			MAX(DATE_FORMAT(M.REQ_DATE, '%Y-%m-%d' )) AS maxRegDate
 			, MIN(DATE_FORMAT(M.REQ_DATE, '%Y-%m-%d' )) AS minRegDate 
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
@@ -357,9 +357,11 @@
 						ADDR_PHONE_NO
 						, ADDR_NM
 					FROM
-						MJ_ADDR
+						MJ_ADDR AD
+						INNER JOIN MJ_ADDR_GRP ADG
+						ON AD.ADDR_GRP_ID = ADG.ADDR_GRP_ID
 						WHERE 1=1
-						AND MBER_ID = #userId#
+						AND AD.MBER_ID = #userId#
 					GROUP BY ADDR_PHONE_NO
 				)MA
 				ON M.CALL_TO = MA.ADDR_PHONE_NO
@@ -719,9 +721,11 @@
 						ADDR_PHONE_NO
 						, ADDR_NM
 					FROM
-						MJ_ADDR
+						MJ_ADDR AD
+						INNER JOIN MJ_ADDR_GRP ADG
+						ON AD.ADDR_GRP_ID = ADG.ADDR_GRP_ID 
 					WHERE
-						MBER_ID = #userId#
+						AD.MBER_ID = #userId#
 					GROUP BY
 						ADDR_PHONE_NO
 					)MA
src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp
@@ -1004,6 +1004,13 @@
 	
 	}else{ // 선택한 Row '-' 문자 삭제하기
 		
+		//자동동보문자 2만건 초과시 발송 안되도록 처리함.
+		var totSendDataCnt = selectedData.length;
+		if(totSendDataCnt > 20000){
+			alert("자동동보문자를 한번에 20,000건 이상 보내실 경우에는 꼭 고객센터(010-8432-9333)로 연락주시어 발송 요청 후 진행해 주시길 바랍니다.");
+			return false;
+		}
+		
 		for(var i=0; i < selectedData.length; i++){
 			
 			//일괄변환 문자에 콤마(,)가 들어가있으면 배열로 넘길때 문제가 발생하여 특수문자(§)로 치환하여 넘겨주도록 한다.
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
@@ -9,13 +9,13 @@
 <script type="text/javascript" src="<c:url value='/js/txtSpecialReplace.js?date=202304250001'/>"></script>
 
 <!--  -->
-<script type="text/javascript" src="<c:url value='/publish/js/publish.js'/>"></script>
+<script type="text/javascript" src="<c:url value='/publish/js/publish.js?date=202402060001'/>"></script>
 
 <style>
 /* .send_top .send_right .phone_bottom{display:flex;align-items:center;} */
 .send_top .send_right .send_rev{margin:0 !important;}
 .send_top .send_right .phone_bottom{bottom:130px;}
-.send_top .send_right .send_rev .send_content{padding:0 !important;;} 
+.send_top .send_right .send_rev .send_content{padding:0 !important;}
 </style>
 
 <% pageContext.setAttribute("newLineChar", "\r\n"); %>
@@ -604,6 +604,27 @@
         }
     });				
 }	
+
+
+
+//엔터키로 문자발송 처리해주기
+$(document).keypress(function(e){
+	
+	if(e.keyCode == 13 
+			&& !$(e.target).is('#smsTxtArea') 
+			&& !$(e.target).is('#callTo')
+			&& !$(e.target).is('#searchKeyword')
+			&& !$(e.target).is('#searchTxt')
+			&& !$(e.target).is('#id_text')
+			&& !$(e.target).is('#password_text')
+			&& !$(e.target).is('#searchWord')){
+		
+		enterSts = true;
+		fn_sendMsgData();
+		
+	}
+	
+});
 
 $(document).ready(function (){
 	
@@ -4515,7 +4536,12 @@
 		                    <div class="send_btn">
 		                        <button type="button" class="btnType btnType11" onclick="javascript:fn_sendMsgData(); return false;">발송하기</button>
 		                        <button type="button" class="btnType btnType10" onclick="javascript:fnTestSend(); return false;">테스트발송</button>
-		                    </div>
+		                    </div>		                    
+	                    </div>
+	                    <!-- 엔터키로 발송 체크박스 -->
+	                    <div class="use_enter">
+	                    	<input type="checkbox" id="enterChk" name="enterChk">
+	                    	<label for="enterChk">Enter키로 발송하기</label>
 	                    </div>
                         <div class="rev_selected">
                             <div class="rev_top">
src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataView.jsp
@@ -25,6 +25,8 @@
 var msgResendAllAdvertiseYn = "${msgResendAllAdvertiseYn}";
 var msgResendAllReplaceYn = "${msgResendAllReplaceYn}";
 
+var enterSts = false;
+
 $(document).ready(function(){
 	//문자 발송 화면 폼 불러오기
 	listMsgDataView();
@@ -957,6 +959,15 @@
 		
 	}
 	
+	var chkCalltoCnt =  $("input[name=chkCallTo]").length;
+	
+	if(Number(chkCalltoCnt) == 0){
+		
+		alert("받는사람을 추가해 주세요.");
+		return false;
+	}
+	
+	
 	//수신번호 리스트 체크하기
 	var numCnt = 0;
 	var nameList = [];		//치환문자 이름
@@ -1033,8 +1044,17 @@
 		
 	}
 	
-	if(confirm("문자를 전송하시겠습니까?")){
+	//엔터키로 문자 전송 바로 처리하기 : 엔터키와 엔터키 체크박스 둘다 조건 만족시 메시지 없이 전송처리
+	var enterChk = $("#enterChk").is(':checked');
+	if(!enterChk || !enterSts){
 		
+		if(!confirm("문자를 전송하시겠습니까?")){
+			return false;
+		}
+		
+	}
+	
+	//if(confirm("문자를 전송하시겠습니까?")){
 
 		imgFilePath = [];
 		$('.thumb_wrap').find('.thumb_img').each(function(idx, el) {
@@ -1547,7 +1567,7 @@
 			
 		}
 		
-	}
+	//}
 	
 }
 
src/main/webapp/publish/css/content.css
--- src/main/webapp/publish/css/content.css
+++ src/main/webapp/publish/css/content.css
@@ -532,7 +532,7 @@
 
 /* 문자 예약 */
 .send_top .send_right .phone_bottom {position: absolute; bottom: 0; left: 0;}
-.send_top .send_right .send_rev {width: 310px; margin: 50px 0 0;}
+.send_top .send_right .send_rev {width: 310px; margin: 50px 0 0; position:relative;}
 .send_top .send_right .send_rev .rev_selected  {background-color: #f5f5f5;padding: 15px 0 15px 10px;border: 1px solid #d6d8da;border-radius: 10px;}
 .send_top .send_right .send_rev .rev_radio input[type="radio"]+label {color: #555;margin-right: 8px;} 
 .send_top .send_right .send_rev select+label {color: #555;font-weight: 300; font-size: 14px;}
@@ -554,6 +554,8 @@
 .send_top .send_right .send_rev .send_content .rev_radio ul li input[type=radio] + label {vertical-align:top;}
 .send_top .send_right .send_rev .send_content .send_btn {display:flex;width:245px;justify-content:space-between;}
 .send_top .send_right .send_rev .send_content .send_btn button {width:calc(100%/2 - 4px);height:60px;}
+.send_top .send_right .send_rev .use_enter {position:absolute; padding:3px 0 0 65px; display:flex;align-items:center;}
+.send_top .send_right .send_rev .use_enter label {font-size:16px!important; padding:0 0 0 4px; font-weight:400!important;}
 
 /* sub1 엑셀 문자(대량 전송) */
 .send_top .get_excel .send_right .phone {height: 93%; position: absolute; top: 0; right: 0;}
src/main/webapp/publish/js/publish.js
--- src/main/webapp/publish/js/publish.js
+++ src/main/webapp/publish/js/publish.js
@@ -53,7 +53,7 @@
 
     if (chkCnt == 0) {
 
-      alert("받는사람을 추가해 주세요.");
+      //alert("받는사람을 추가해 주세요.");
       return false;
 
     }
Add a comment
List