kmg 2023-10-16
Merge branch 'master' of http://yickso@vcs.iten.co.kr:9999/hylee/mjon_git
@4094fe485a9187f59d3f9710c5cad74249a60de3
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberCmpHst_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberCmpHst_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberCmpHst_SQL_Mysql.xml
@@ -201,6 +201,15 @@
 		UPDATE LETTNGNRLMBER SET
 			MBER_STTUS		= #mberSttus#
 			, DEPT			= #dept#
+			<isNotEmpty property="mberNm">
+				, MBER_NM		= #mberNm#
+			</isNotEmpty>
+			<isNotEmpty property="ceoNm">
+				, CEO_NM		= #ceoNm#
+			</isNotEmpty>
+			<isNotEmpty property="bizNo">
+				, BIZ_NO		= #bizNo#
+			</isNotEmpty>
 			<isNotEmpty property="atchFileId">
 				, ATCH_FILE_ID		= #atchFileId#
 			</isNotEmpty>
src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberCmpHstListByType.jsp
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberCmpHstListByType.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberCmpHstListByType.jsp
@@ -109,7 +109,7 @@
 
 
 // 기업회원 신청 승인/반려 처리
-function setMberCmpHstStatusSave(hstSttus, cmphstId, hstType, mberId, managerNm, mbtlNum) {
+function setMberCmpHstStatusSave(hstSttus, cmphstId, hstType, mberId, managerNm, mbtlNum, mberNm, ceoNm, bizNo) {
 	var sMsg = "";
 	if (hstSttus == "02") {
 		sMsg = "승인";
@@ -128,7 +128,9 @@
 		if(hstType == '02' && hstSttus == '02'){ //기업회원 전환 승인이라면 기존 mberNm -> managerNm 으로 수정
 			$("#managerNm").val(managerNm);
 		}
-		
+		$("#mberNm").val(mberNm);
+		$("#ceoNm").val(ceoNm);
+		$("#bizNo").val(bizNo);
 		
 		
 		var form = document.listForm;
@@ -326,6 +328,9 @@
 	<input type="hidden" name="cmphstId" id="cmphstId" />
 	<input type="hidden" name="hstType" id="hstType" />
 	<input type="hidden" name="mberId" id="mberId" />
+	<input type="hidden" name="mberNm" id="mberNm" />
+	<input type="hidden" name="ceoNm" id="ceoNm" />
+	<input type="hidden" name="bizNo" id="bizNo" />
 	<input type="hidden" name="managerNm" id="managerNm" />
 	<input type="hidden" name="mbtlNum" id="mbtlNum" />
 	<input type="hidden" name="atchFileId" id="atchFileId" />
@@ -546,7 +551,7 @@
 							</td>							
 							<td>
 								<c:if test="${result.hstSttus eq '01'}">
-									<button class="btnType btnType20" onclick="setMberCmpHstStatusSave('02','<c:out value="${result.cmphstId}"/>','<c:out value="${result.hstType}"/>','<c:out value="${result.mberId}"/>' ,'<c:out value="${result.managerNm}"/>' ,'<c:out value="${result.mbtlNum}"/>'); return false;">승인</button>
+									<button class="btnType btnType20" onclick="setMberCmpHstStatusSave('02','<c:out value="${result.cmphstId}"/>','<c:out value="${result.hstType}"/>','<c:out value="${result.mberId}"/>' ,'<c:out value="${result.managerNm}"/>' ,'<c:out value="${result.mbtlNum}"/>' ,'<c:out value="${result.mberNm}"/>' ,'<c:out value="${result.ceoNm}"/>' ,'<c:out value="${result.bizNo}"/>'); return false;">승인</button>
 									<%-- <button class="btnType btnType20" onclick="setMberCmpHstStatusSave('03','<c:out value="${result.cmphstId}"/>','<c:out value="${result.hstType}"/>','<c:out value="${result.mberId}"/>' ,'<c:out value="${result.managerNm}"/>' ,'<c:out value="${result.mbtlNum}"/>'); return false;">반려</button> --%>
 									<button class="btnType btnType20" onclick="returnPop('<c:out value="${result.cmphstId}"/>'); return false;">반려</button>
 								</c:if>
src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
@@ -592,9 +592,9 @@
 			divideChk = "N"
 		}
 		
-		var divideCnt = $("select[name='divideCnt']").val();
+		//var divideCnt = $("select[name='frmDivideCnt']").val();
+		var divideCnt = $('#frmDivideCnt').val();
 		var divideTime = $("select[name='divideTime']").val();
-		
 		
 		$('#bizForm #divideChk').val(divideChk);
 		$('#bizForm #divideCnt').val(divideCnt);
@@ -1045,7 +1045,20 @@
 	location.href="/web/member/pay/PayUserWithKakaoList.do";
 }
 
-
+function checkNumber(event) {
+	var divideCnt = $('#frmDivideCnt').val();
+	if(!(event.key >= 0 && event.key <= 9)) {
+		return false;
+	}
+	
+	var totCnt = divideCnt + "" + event.key;
+	if(Number(totCnt) > 5000){
+		alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
+		return false;
+	}
+  
+  return true;
+}
 
 </script>
 
@@ -1518,13 +1531,8 @@
 										<div class="rev_bottom">
 											<input type="checkbox" id="inputDivideChk" name="inputDivideChk">
 											<label for="">분할전송</label>
-											<select class="selType1" id="divideCnt" name="divideCnt">
-						 						<option value="2">2</option>
-						 						<option value="10">10</option>
-						 						<option value="20">20</option>
-						 						<option value="30">30</option>
-						 					</select>
-											<label for="divideCnt">건</label>
+											<input type="text" class="dividType1" id="frmDivideCnt" name="frmDivideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
+     		            					<label for="divideCnt">건씩</label>
 											<select class="selType1" id="divideTime" name="divideTime">
 						 						<option value="5">05분</option>
 						 						<option value="10">10분</option>
src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp
--- src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp
+++ src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp
@@ -33,21 +33,38 @@
 	var evntPopCk = fnGetCookie('layer_evntPayPop');
 	var pointPopCk = fnGetCookie('layer_pointPop');
 	
+	console.log("# 팝업 레이어 : START");
+	console.log("layer_evntPayPop : " + evntPopCk);
+	console.log("layer_pointPop : " + pointPopCk);
+	
 	if(evntPopCk != null && pointPopCk != null){//팝업 쿠키가 모두 있는 경우 안보여준다.
+		console.log("eventLayerPop : STEP 1. 이벤트 팝업 쿠키가 모두 있는 경우 안보여준다.");
+	
 		$(".eventLayerPop").css("display","none");
+		$(".eventLayerPop").hide();
 	}else if(evntPopCk == null && pointPopCk == null){// 이벤트 팝업 쿠키가 모두 없으면 팝업 보여주기
+		console.log("eventLayerPop : STEP 2. 이벤트 팝업 쿠키가 모두 없으면 팝업 보여주기.");
+	
 		$(".eventLayerPop").css("display","block");
+		$(".eventLayerPop").show();
 	}else if(evntPopCk != null || pointPopCk != null){
+		console.log("eventLayerPop : STEP 3. 이벤트 팝업 쿠키가 하나라도 있으면 보여주기");
 		
 		$(".eventLayerPop").css("display", "block");
+		$(".eventLayerPop").show();
 		if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 쿠키가 없으면 보여주기
+			console.log("이벤트 쿠키 있음 : HIDE");
+		
 			$('.payEventPop').css("display","none");
+			$('.payEventPop').hide();
 		}
 		
 		if (fnGetCookie('layer_pointPop') != null) { //포인트 안내 팝업, 3일 안보기 체크
-			$('.pointPop').css("display","none");
-		}
+			console.log("포인트 쿠키 있음 : HIDE");
 		
+			$('.pointPop').css("display","none");
+			$('.pointPop').hide();
+		}
 	}
 	
 	//레이어 팝업이 하나도 없으면 배경도 안보이도록 처리
@@ -268,17 +285,27 @@
 		eventYn = true;
 	</c:if>
 	
+	console.log("");
+	console.log("이벤트 팝업 호출 처리");
+	console.log("payCount : " + payCount);
+	console.log("eventYn : " + eventYn);
+	console.log("blineCode : " + blineCode);
+	
 	if(payCount < 1 && eventYn && blineCode == 'N'){//결제내역이 하나도 없고, 이벤트가 진행중이면  팝업 호출
+		console.log("이벤트 팝업 함수 CALL");
 		remoteEventPayPop(payCount);
 	}else{//이벤트 대상자가 아니면 첫결제 이벤트 팝업은 안보여준다.
-		
+		console.log("이벤트 팝업 : HIDE");
+	
 		$('.payEventPop').css("display","none");
+		$('.payEventPop').hide();
 	
 		if($(".layer_popup:visible").length == 0){
 			$(".layer_popup_wrap").hide();
 		}
 	}
 	
+	console.log("# 팝업 레이어 : END");
 });
 
 function leadingZeros(n, digits) {
@@ -950,9 +977,15 @@
 //이벤트 팝업 호출
 function remoteEventPayPop(payCount) {
 	if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크
+		console.log("이벤트 쿠키 있음 : HIDE");
+	
 		$('.payEventPop').css("display","none");
+		$('.payEventPop').hide();
 	}else{
+		console.log("이벤트 쿠키 없음 : SHOW");
+		
 		$('.payEventPop').css("display","block");
+		$('.payEventPop').show();
 	}
 	
 	/* document.eventForm.payCount.value = payCount;
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
@@ -3163,6 +3163,23 @@
 	}
 });	
 
+function checkNumber(event) {
+	var divideCnt = $('#divideCnt').val();
+	if(!(event.key >= 0 && event.key <= 9)) {
+		return false;
+	}
+	
+	var totCnt = divideCnt + "" + event.key;
+	if(Number(totCnt) > 5000){
+		
+		alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
+		return false;
+		
+	}
+  
+  return true;
+}
+
 </script>
 	<div class="loading_layer">
 		<div class="loading_container">
@@ -4207,13 +4224,8 @@
                            	<div class="rev_bottom">
              		            <input type="checkbox" id="divideChk" name="divideChk">
              		            <label for="divideChk">분할전송</label>
-             		            <select class="selType1" id="divideCnt" name="divideCnt">
-             		                <option value="2">2</option>
-             		                <option value="10">10</option>
-             		                <option value="20">20</option>
-             		                <option value="30">30</option>
-             		            </select>
-             		            <label for="divideCnt">건</label>
+             		            <input type="text" class="dividType1" id="divideCnt" name="divideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
+     		            		<label for="divideCnt">건씩</label>
              		            <select class="selType1" id="divideTime" name="divideTime">
              		                <option value="5">05분</option>
              		                <option value="10">10분</option>
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
@@ -2807,6 +2807,23 @@
 	}
 });	
 
+function checkNumber(event) {
+	var divideCnt = $('#divideCnt').val();
+	if(!(event.key >= 0 && event.key <= 9)) {
+		return false;
+	}
+	
+	var totCnt = divideCnt + "" + event.key;
+	if(Number(totCnt) > 5000){
+		
+		alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
+		return false;
+		
+	}
+  
+  return true;
+}
+
 </script>
 
 	<div class="loading_layer">
@@ -3756,13 +3773,8 @@
                    	<div class="rev_bottom">
      		            <input type="checkbox" id="divideChk" name="divideChk">
      		            <label for="divideChk">분할전송</label>
-     		            <select class="selType1" id="divideCnt" name="divideCnt">
-     		                <option value="2">2</option>
-     		                <option value="10">10</option>
-     		                <option value="20">20</option>
-     		                <option value="30">30</option>
-     		            </select>
-     		            <label for="divideCnt">건</label>
+     		            <input type="text" class="dividType1" id="divideCnt" name="divideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
+     		            <label for="divideCnt">건씩</label>
      		            <select class="selType1" id="divideTime" name="divideTime">
      		                <option value="5">05분</option>
      		                <option value="10">10분</option>
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
@@ -3171,6 +3171,23 @@
 	}
 });	
 
+function checkNumber(event) {
+	var divideCnt = $('#divideCnt').val();
+	if(!(event.key >= 0 && event.key <= 9)) {
+		return false;
+	}
+	
+	var totCnt = divideCnt + "" + event.key;
+	if(Number(totCnt) > 5000){
+		
+		alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
+		return false;
+		
+	}
+  
+  return true;
+}
+
 </script>
 	
 	<div class="loading_layer">
@@ -4146,14 +4163,8 @@
                		        </div>
                            	<div class="rev_bottom">
              		            <input type="checkbox" id="divideChk" name="divideChk">
-             		            <label for="divideChk">분할전송</label>   
-             		            	<input type="text" class="dividType1"> <!-- 2023 10 13 수정 -->    		            
-             		            <!--<select class="selType1" id="divideCnt" name="divideCnt">
-             		                <option value="2">2</option>
-             		                <option value="10">10</option>
-             		                <option value="20">20</option>
-             		                <option value="30">30</option>
-             		            </select>-->
+             		            <label for="divideChk">분할전송</label>
+             		            <input type="text" class="dividType1" id="divideCnt" name="divideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
              		            <label for="divideCnt">건씩</label> <!-- 2023 10 13 수정 --> 
              		            <select class="selType1" id="divideTime" name="divideTime">
              		                <option value="5">05분</option>
src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
@@ -2891,6 +2891,23 @@
 	}
 });	
 
+function checkNumber(event) {
+	var divideCnt = $('#divideCnt').val();
+	if(!(event.key >= 0 && event.key <= 9)) {
+		return false;
+	}
+	
+	var totCnt = divideCnt + "" + event.key;
+	if(Number(totCnt) > 5000){
+		
+		alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
+		return false;
+		
+	}
+  
+  return true;
+}
+
 </script>
 
 	<div class="loading_layer">
@@ -3514,13 +3531,8 @@
                    	<div class="rev_bottom">
      		            <input type="checkbox" id="divideChk" name="divideChk">
      		            <label for="divideChk">분할전송</label>
-     		            <select class="selType1" id="divideCnt" name="divideCnt">
-     		                <option value="2">2</option>
-     		                <option value="10">10</option>
-     		                <option value="20">20</option>
-     		                <option value="30">30</option>
-     		            </select>
-     		            <label for="divideCnt">건</label>
+     		            <input type="text" class="dividType1" id="divideCnt" name="divideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
+     		            <label for="divideCnt">건씩</label>
      		            <select class="selType1" id="divideTime" name="divideTime">
      		                <option value="5">05분</option>
      		                <option value="10">10분</option>
src/main/webapp/WEB-INF/jsp/web/user/membershipChangeReturn.jsp
--- src/main/webapp/WEB-INF/jsp/web/user/membershipChangeReturn.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/membershipChangeReturn.jsp
@@ -9,6 +9,11 @@
 <script language=javascript>
 $(document).ready(function(){
 	$(".fileView").children('img').remove()
+	
+		//사업자등록번호 입력
+	$("input[name=bizNo]").on("keyup", function() {
+		$(this).val(bizNo($(this).val().replace(/[^-\.0-9]/g,"")))
+	})
 });
 
 
@@ -31,11 +36,36 @@
 		return false;
 	} */
 	
+	//사업자등록번호 체크
+	var numberMap = $("#bizNo").val().replace(/-/gi, '').split('').map(function (d){
+		return parseInt(d, 10);
+	});
+	
+	if(numberMap.length == 10){
+		var keyArr = [1, 3, 7, 1, 3, 7, 1, 3, 5];
+		var chk = 0;
+		
+		keyArr.forEach(function(d, i){
+			chk += d * numberMap[i];
+		});
+		
+		chk += parseInt((keyArr[8] * numberMap[8])/ 10, 10);
+		if(Math.floor(numberMap[9]) !== ( (10 - (chk % 10) ) % 10)){
+			alert("사업자 번호가 유효하지 않습니다.");		
+			return false;
+		}
+	}else{
+		alert("사업자 번호가 유효하지 않습니다.");
+		return false;
+	}
 
 	if(doubleSubmitFlag){
 		alert("이미 재등록하셨습니다.");
 		return false;
 	}else{	
+		
+		form.bizNo.value = form.bizNo.value.replace(/-/gi, "").trim();
+		
 		var _fileForm2 = new Array();
 		var data = new FormData(form);
 		_fileForm2.forEach(function(obj, idx) {
@@ -75,6 +105,56 @@
 	$('#atFileBasicWriteWork').val(obj.value);
 }
 
+//사업자등록번호 - 넣기
+function bizNo(str){
+   str = str.replace(/[^0-9]/g, '');
+   var tmp = '';
+   if(str.length < 4){
+       return str;
+   }else if(str.length < 7){
+       tmp += str.substr(0, 3);
+       tmp += '-';
+       tmp += str.substr(3);
+       return tmp;
+   }else{
+       tmp += str.substr(0, 3);
+       tmp += '-';
+       tmp += str.substr(3, 2);
+       tmp += '-';
+       tmp += str.substr(5);
+       return tmp;
+   }
+   return str;
+}
+
+//사업자등록번호 확인
+function bizNoCheck(){
+	var numberMap = $("#bizNo").val().replace(/-/gi, '').split('').map(function (d){
+		return parseInt(d, 10);
+	});
+	
+	if(numberMap.length == 10){
+		var keyArr = [1, 3, 7, 1, 3, 7, 1, 3, 5];
+		var chk = 0;
+		
+		keyArr.forEach(function(d, i){
+			chk += d * numberMap[i];
+		});
+		
+		chk += parseInt((keyArr[8] * numberMap[8])/ 10, 10);
+		console.log(chk);
+		if(Math.floor(numberMap[9]) === ( (10 - (chk % 10) ) % 10)){
+			alert("사업자등록번호 확인이 완료되었습니다.");
+			return false;		
+		}else{
+			alert("사업자 번호가 유효하지 않습니다.");		
+			return false;
+		}
+	}
+	alert("사업자 번호가 유효하지 않습니다.");
+	return false;
+}
+
 </script>
 <div class="inner">
 	<!-- send top -->
@@ -87,9 +167,9 @@
 			<input type="hidden" name="mberId" value="${cmpChangeManageVO.mberId}"/>
 			<input type="hidden" name="uniqId" value="${cmpChangeManageVO.uniqId}"/>
 			<input type="hidden" name="bizType" value="${cmpChangeManageVO.bizType}"/>
-			<input type="hidden" name="mberNm" value="${cmpChangeManageVO.mberNm}"/>
+			<%-- <input type="hidden" name="mberNm" value="${cmpChangeManageVO.mberNm}"/>
 			<input type="hidden" name="ceoNm" value="${cmpChangeManageVO.ceoNm}"/>
-			<input type="hidden" name="bizNo" value="${cmpChangeManageVO.bizNo}"/>
+			<input type="hidden" name="bizNo" value="${cmpChangeManageVO.bizNo}"/> --%>
 			<input type="hidden" name="managerNm" value="${loginVO.name}"/> <!-- 담당자 명 -->
 			<input type="hidden" name="atchFileSttus" id="atchFileSttus" value="${cmpChangeManageVO.atchFileSttus}"/>
 			<input type="hidden" name="workAtchFileSttus" id="workAtchFileSttus" value="${cmpChangeManageVO.workAtchFileSttus}"/>
@@ -123,13 +203,15 @@
 						<div class="input_list_item">
 							<div class="input_left">회사명</div>
 							<div class="input_right">
-								<c:out value='${cmpChangeManageVO.mberNm}'/>
+								<%-- <c:out value='${cmpChangeManageVO.mberNm}'/> --%>
+								<input type="text" class="list_inputType1" name="mberNm" id="mberNm" value="<c:out value='${cmpChangeManageVO.mberNm}'/>" maxlength="30" />
 							</div>
 						</div>
 						<div class="input_list_item">
 							<div class="input_left">대표</div>
 							<div class="input_right">
-								<c:out value='${cmpChangeManageVO.ceoNm}'/>
+								<%-- <c:out value='${cmpChangeManageVO.ceoNm}'/> --%>
+								<input type="text" class="list_inputType1 onlyC" name="ceoNm" id="ceoNm" value="<c:out value='${cmpChangeManageVO.ceoNm}'/>" maxlength="50" />
 							</div>
 						</div>
 						<div class="input_list_item">
@@ -143,7 +225,10 @@
 							<div class="input_left">사업자등록번호</div>
 							<div class="input_right">
 								<label for="" class="label">사업자등록번호 입력</label>
-								<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 0, 3)}'/>-<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 3, 5)}'/>-<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 5, 10)}'/>
+								<input type="text" class="list_inputType1" name="bizNo" id="bizNo" value="<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 0, 3)}'/>-<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 3, 5)}'/>-<c:out value='${fn:substring(cmpChangeManageVO.bizNo, 5, 10)}'/>" maxlength="12">
+								<div class="list_btn_wrap">
+									<button type="button" onclick="bizNoCheck(); return false;">사업자등록번호 확인</button>
+								</div>
 							</div>
 						</div>
 						<div class="input_list_item">
Add a comment
List