wyh 2024-01-24
Merge branch 'master' of http://dudgusw@vcs.iten.co.kr:9999/hylee/mjon_git
@d1343ccb92dce3290cca767a046258e5f18a7be2
src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkTemplateController.java
--- src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkTemplateController.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkTemplateController.java
@@ -564,6 +564,8 @@
 			return "redirect:/web/user/login/login.do";
 		}
 		
+		model.addAttribute("loginVO", loginVO);
+		
 		// 사용자 아이디를 이용한 발신프로필 조회
 		kakaoVO.setUserId(userId); 
 		List<KakaoVO> selectKakaoProfileList = kakaoApiService.selectKakaoProfileList(kakaoVO);
@@ -750,6 +752,8 @@
 			LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
 			String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
 			
+			model.addAttribute("loginVO", loginVO);
+			
 			if(userId == "") {
 				model.addAttribute("message", "로그인 후 이용이 가능합니다.");
 				return "redirect:/web/user/login/login.do";
src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
@@ -204,6 +204,7 @@
 	private int failSendCnt;
 	private double succSendPrice;
 	private double failSendPrice;
+	private double totSuccSendPrice;
 	
 	public String getSearchDelayMsgYn() {
 		return searchDelayMsgYn;
@@ -499,6 +500,7 @@
 	private double supplyPrice;		// 공급가액
 	private double vatPrice;		// 부가세
 	private double totalPrice;		// 금액
+	private String addVatType;		// 부가세 포함 여부
 	
 	private String addrGrpId;		// 주소록 그룹아이디
 	private String addrGrpNm;		// 주소록 그룹명
@@ -1298,6 +1300,12 @@
 	public void setTotalPrice(double totalPrice) {
 		this.totalPrice = totalPrice;
 	}
+	public String getAddVatType() {
+		return addVatType;
+	}
+	public void setAddVatType(String addVatType) {
+		this.addVatType = addVatType;
+	}
 	public String getDetailType() {
 		return detailType;
 	}
@@ -1624,4 +1632,10 @@
 	public void setFailSendPrice(double failSendPrice) {
 		this.failSendPrice = failSendPrice;
 	}
+	public double getTotSuccSendPrice() {
+		return totSuccSendPrice;
+	}
+	public void setTotSuccSendPrice(double totSuccSendPrice) {
+		this.totSuccSendPrice = totSuccSendPrice;
+	}
 }
src/main/java/itn/let/mjo/pay/service/MjonPayService.java
--- src/main/java/itn/let/mjo/pay/service/MjonPayService.java
+++ src/main/java/itn/let/mjo/pay/service/MjonPayService.java
@@ -127,8 +127,16 @@
 	//총 사용금액 - 카카오 추가
 	List<MjonPayVO> selectUsedCashWithKakaoTotCnt(MjonPayVO mjonPayVO) throws Exception;
 	
-	
 	List<MjonPayVO> selectCashInfoList(String userId) throws Exception;
 	
 	List<MjonPayVO> selectPointInfoList(String userId) throws Exception;
+	
+	//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
+	public String selectTotalSumCashForAfterPay(String userId) throws Exception;
+	
+	//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산  - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
+	public String selectTotalSumPointForAfterPay(String userId) throws Exception;
+	
+	//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
+	public String selectTotSumPaymentAfterPay(String userId) throws Exception;
 }
src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java
@@ -302,4 +302,56 @@
 		
 	}
 	
+	//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
+	public String selectTotalSumCashForAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = (String) select("mjonPayDAO.selectTotalSumCashForAfterPay", userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotalSumCashForAfterPay DAO Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
+	
+	
+	//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산  - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
+	public String selectTotalSumPointForAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = (String) select("mjonPayDAO.selectTotalSumPointForAfterPay", userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotalSumPointForAfterPay DAO Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
+	
+	//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
+	public String selectTotSumPaymentAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = (String) select("mjonPayDAO.selectTotSumPaymentAfterPay", userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotSumPaymentAfterPay DAO Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
+	
 }
src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
@@ -2743,6 +2743,59 @@
 		return mjonPayDAO.selectPointInfoList(userId);
 	}
 
+	//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
+	@Override
+	public String selectTotalSumCashForAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = mjonPayDAO.selectTotalSumCashForAfterPay(userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotalSumCashForAfterPay Service Imple Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
 	
+	
+	//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산  - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
+	@Override
+	public String selectTotalSumPointForAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = mjonPayDAO.selectTotalSumPointForAfterPay(userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotalSumPointForAfterPay Service Imple Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
+	
+	//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
+	@Override
+	public String selectTotSumPaymentAfterPay(String userId) throws Exception{
+		
+		String result = "";
+		
+		try {
+			
+			result = mjonPayDAO.selectTotSumPaymentAfterPay(userId);
+			
+		} catch (Exception e) {
+			System.out.println("selectTotSumPaymentAfterPay Service Imple Error!!! " + e);
+		}
+		
+		return result;
+		
+	}
 
 }
src/main/java/itn/let/mjo/pay/web/MjonPayController.java
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
@@ -1931,6 +1931,13 @@
 			// End	    	
     	}
     	*/
+		
+		//후불제 회원 여부 조회 
+		UserManageVO userManageVO = new UserManageVO();
+		userManageVO.setMberId(userId);
+		userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO);
+		
+		model.addAttribute("prePaymentYn", userManageVO.getPrePaymentYn());
     	
     	if(pattern.equals("/web/member/pay/PayListAllAjax.do")
     			|| pattern.equals("/web/member/pay/PayListMobileAjax.do")
@@ -2098,13 +2105,6 @@
     		
     		return "/web/pay/PayListAllAjax";
 		}
-    	
-    	//후불제 회원 여부 조회 
-		UserManageVO userManageVO = new UserManageVO();
-		userManageVO.setMberId(userId);
-		userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO);
-		
-		model.addAttribute("prePaymentYn", userManageVO.getPrePaymentYn());
     	
 		return "/web/pay/PayList";
 	}
@@ -2624,7 +2624,7 @@
 			model.addAttribute("reservToList", reservToList);
 		}
 		
-		{
+		{// 선거 후보자 정보 조회
 			MjonCandidateVO mjonCandidateVO = new MjonCandidateVO();
 			if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기
 				mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId);
@@ -2635,6 +2635,49 @@
 			}
 			model.addAttribute("mjonCandidateVO", mjonCandidateVO);
 		}
+		
+		
+		{
+			/**
+			 * 후불제 회원 관련 사용 요금 내역 정보 조회하기
+			 * 20231228 우영두 추가
+			 * 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회
+			 * 
+			 * */ 
+			
+			//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
+			String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId);
+			model.addAttribute("totSumCashAfterPay", totSumCashAfterPay);
+			
+			//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산  - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
+			String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId);
+			model.addAttribute("totSumPointAfterPay", totSumPointAfterPay);
+			
+			//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
+			String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId);
+			model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay);
+			
+			//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
+			float p_i_re_point = 0;
+			JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
+			if (sysJoinSetVO != null) {
+				p_i_re_point = sysJoinSetVO.getPointPer();
+			}
+			int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
+			model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay);
+			
+			//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
+			
+			float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
+			model.addAttribute("unPaymentAfterPay", unPaymentAfterPay);
+			
+			//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
+			int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
+			model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay);
+			
+		}
+		
+		
 		return "/web/pay/PayUserSWList";
 	}
     
@@ -2656,31 +2699,43 @@
 		String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
 		mjonMsgVO.setUserId(userId);
 		
-		if(mjonMsgVO.getPageUnit() != 10) {
-			mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit());
-		}
-		
-		/** pageing */
-		PaginationInfo paginationInfo = new PaginationInfo();
-		paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex());
-		paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit());
-		paginationInfo.setPageSize(mjonMsgVO.getPageSize());
+		try {
+			
+			if(mjonMsgVO.getPageUnit() != 10) {
+				mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit());
+			}
+			
+			/** pageing */
+			PaginationInfo paginationInfo = new PaginationInfo();
+			paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex());
+			paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit());
+			paginationInfo.setPageSize(mjonMsgVO.getPageSize());
 
-		mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
-		mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex());
-		mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); 
-		
-		if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
-			mjonMsgVO.setSearchSortCnd("regDate");
-			mjonMsgVO.setSearchSortOrd("desc");
+			mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+			mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex());
+			mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); 
+			
+			if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
+				mjonMsgVO.setSearchSortCnd("regDate");
+				mjonMsgVO.setSearchSortOrd("desc");
+			}
+			
+			List<MjonMsgVO> payUserSWList =  mjonMsgDataService.selectPayUserSWList(mjonMsgVO);
+			
+			paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0);
+			model.addAttribute("paginationInfo", paginationInfo);
+			model.addAttribute("payUserSWList", payUserSWList);
+			
+			if(payUserSWList.size() > 0) {
+				model.addAttribute("totSuccSendPrice", payUserSWList.get(0).getTotSuccSendPrice());
+			}else {
+				model.addAttribute("totSuccSendPrice", 0);
+			}
+			
+		} catch (Exception e) {
+			System.out.println("PayUserSWListAjax Controller Error!!! " + e);
 		}
 		
-		
-		List<MjonMsgVO> payUserSWList =  mjonMsgDataService.selectPayUserSWList(mjonMsgVO);
-		
-		paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0);
-		model.addAttribute("paginationInfo", paginationInfo);
-		model.addAttribute("payUserSWList", payUserSWList);
 		
 		return "/web/pay/PayUserSWListAjax";
 	}
@@ -2947,6 +3002,41 @@
   			wb.dispose();
   			try { wb.close(); } catch(Exception ignore) {}
   		}
+	}
+	
+	
+    @RequestMapping(value= {"/web/member/pay/PrintPayUserSWListAjax.do"})
+	public String printPayUserSWListAjax(
+			@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO
+			, RedirectAttributes redirectAttributes
+			, ModelMap model) throws Exception {
+		//로그인 권한정보 불러오기
+		LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
+		String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
+		String userNm = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getName());
+		
+		mjonMsgVO.setUserId(userId);
+		model.addAttribute("userNm", userNm);
+		
+		
+		mjonMsgVO.setFirstIndex(0);
+		mjonMsgVO.setRecordCountPerPage(10000);
+		
+		//결제 리스트 정보 불러오기
+		List<MjonMsgVO> payUserList =  mjonMsgDataService.selectPayUserSWList(mjonMsgVO);
+		model.addAttribute("payUserList", payUserList);
+		
+		Calendar cal = Calendar.getInstance();
+
+		int year = cal.get(Calendar.YEAR);
+		int month = cal.get(Calendar.MONTH) + 1;
+		int day = cal.get(Calendar.DAY_OF_MONTH);
+		
+		model.addAttribute("year", year);
+		model.addAttribute("month", month);
+		model.addAttribute("day", day);
+
+		return "web/pay/PrintPayUserSWListPopUp";
 	}
     
     
@@ -3844,9 +3934,11 @@
 	    	MberManageVO tmpMberManageVO = mjonMsgDataService.selectMberManageInfo(mberId);
 	    	String dept = tmpMberManageVO.getDept();
 	    	
-	    	if(dept.equals("p") && taxCNm != null && taxCNm.length() > 0) {
+	    	//후보자 정보 조회
+	    	MjonCandidateVO mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(mberId);
+	    	
+	    	if(mjonCandidateVO != null && dept.equals("p") && taxCNm != null && taxCNm.length() > 0) {
 	    		
-	    		MjonCandidateVO mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(mberId);
 	    		String candidateNm = mjonCandidateVO.getCandidateNm();
 	    		if(candidateNm != null && candidateNm.length() > 0) {
 	    			
@@ -4730,7 +4822,10 @@
 		if(!"".equals(startDate)) {
 			startDate = startDate.replaceAll("/", "-");
     	}else {
-    		startDate = transFormat.format(minRegDate);
+    		
+    		if(minRegDate != null) {
+    			startDate = transFormat.format(minRegDate);
+    		}
     	}
     	model.addAttribute("startDate", startDate);
     	
@@ -4738,7 +4833,9 @@
     	if(!"".equals(endDate)) {
     		endDate = endDate.replaceAll("/", "-");
     	}else {
-    		endDate = transFormat.format(maxRegDate);
+    		if(maxRegDate != null) {
+    			endDate = transFormat.format(maxRegDate);
+    		}
     	}
     	model.addAttribute("endDate", endDate);
     	
@@ -4772,6 +4869,12 @@
 		model.addAttribute("mberNm", mberNm);
 		model.addAttribute("managerNm", managerNm);
 		model.addAttribute("moblphonNo", moblphonNo);
+		
+		//부가세 포함 가격 정보 계산
+		double addTax = Math.round(totalSumPrice * 0.1);
+		
+		model.addAttribute("addTax", decFormat.format(addTax));
+		model.addAttribute("addTaxSumPrice", decFormat.format(addTax+totalSumPrice));
 
 		
 		return "/web/pay/MsgPrintUsageDetailsPopUp";
@@ -4966,7 +5069,9 @@
     	if(!"".equals(startDate)) {
 			startDate = startDate.replaceAll("/", "-");
     	}else {
-    		startDate = transFormat.format(minRegDate);
+    		if(minRegDate != null) {
+    			startDate = transFormat.format(minRegDate);
+    		}
     	}
     	model.addAttribute("startDate", startDate);
     	
@@ -4974,7 +5079,9 @@
     	if(!"".equals(endDate)) {
     		endDate = endDate.replaceAll("/", "-");
     	}else {
-    		endDate = transFormat.format(maxRegDate);
+    		if(maxRegDate != null) {
+    			endDate = transFormat.format(maxRegDate);
+    		}
     	}
     	model.addAttribute("endDate", endDate);
     	
@@ -5010,6 +5117,13 @@
 		model.addAttribute("managerNm", managerNm);
 		model.addAttribute("moblphonNo", moblphonNo);
 		
+		
+		//부가세 포함 가격 정보 계산
+		double addTax = Math.round(totalSumPrice * 0.1);
+		
+		model.addAttribute("addTax", decFormat.format(addTax));
+		model.addAttribute("addTaxSumPrice", decFormat.format(addTax+totalSumPrice));
+		
     	return "/web/pay/MsgPrintStatementPopUp";
     }
     
src/main/java/itn/let/mjo/test/web/TestController.java
--- src/main/java/itn/let/mjo/test/web/TestController.java
+++ src/main/java/itn/let/mjo/test/web/TestController.java
@@ -3,11 +3,8 @@
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -23,7 +20,6 @@
 
 import javax.annotation.Resource;
 import javax.imageio.ImageIO;
-import javax.mail.internet.ContentDisposition;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
@@ -36,7 +32,6 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.env.SystemEnvironmentPropertySource;
 import org.springframework.core.io.ByteArrayResource;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.http.HttpEntity;
@@ -223,6 +218,10 @@
 	/** 등급제 관리 서비스 */
 	@Resource(name = "mberGrdService")
 	MberGrdService mberGrdService;	
+	
+	/** 후불제 자동 충전 서비스 */
+	@Resource (name = "userManageService")
+	private EgovUserManageService egovUserManageService;
 	
     private static final Logger logger = LoggerFactory.getLogger(TestController.class);
     
@@ -3276,4 +3275,20 @@
 	}
 	
 	
+	@RequestMapping(value="/web/mjon/test/insertAfterPayCashChargeSchedulerAjax.do")
+	public void testAfterPayCashCharge() throws Exception{
+		
+		System.out.println("=================================testAfterPayCashCharge Start==========================================");
+		
+		try {
+			
+			egovUserManageService.updateUserCashByAutoCash();
+			
+		} catch (Exception e) {
+			System.out.println("++++++++++++++ testAfterPayCashCharge Error!!! "+e);
+		}
+		
+	}
+	
+	
 }
src/main/java/itn/let/uat/uia/web/EgovMypageController.java
--- src/main/java/itn/let/uat/uia/web/EgovMypageController.java
+++ src/main/java/itn/let/uat/uia/web/EgovMypageController.java
@@ -392,6 +392,48 @@
 		
 		model.addAttribute("pageTab", "myPageIndex");
 		model.addAttribute("loginVO", loginVO);
+		
+		
+		{
+			
+			/**
+			 * 후불제 회원 관련 사용 요금 내역 정보 조회하기
+			 * 20240102 우영두 추가
+			 * 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회
+			 * 
+			 * */ 
+			
+			//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
+			String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId);
+			model.addAttribute("totSumCashAfterPay", totSumCashAfterPay);
+			
+			//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산  - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
+			String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId);
+			model.addAttribute("totSumPointAfterPay", totSumPointAfterPay);
+			
+			//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
+			String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId);
+			model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay);
+			
+			//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
+			float p_i_re_point = 0;
+			JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
+			if (sysJoinSetVO != null) {
+				p_i_re_point = sysJoinSetVO.getPointPer();
+			}
+			int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
+			model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay);
+			
+			//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
+			float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
+			model.addAttribute("unPaymentAfterPay", unPaymentAfterPay);
+			
+			//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
+			int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
+			model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay);
+			
+		}
+		
 		return "web/user/mberInfoIndex";
 	}
 	
src/main/java/itn/let/uss/umt/service/UserManageVO.java
--- src/main/java/itn/let/uss/umt/service/UserManageVO.java
+++ src/main/java/itn/let/uss/umt/service/UserManageVO.java
@@ -207,6 +207,7 @@
 	private String atSmishingYn;		// 알림톡 스미싱 의심여부
 	private String spamYn;
 	private String nextPayMethod;
+	private float paymentCash;		//이전달에 실제 사용한 캐시 정보
 	
 	public String getNextPayMethod() {
 		return nextPayMethod;
@@ -731,6 +732,12 @@
 	public void setVipYn(String vipYn) {
 		this.vipYn = vipYn;
 	}
+	public float getPaymentCash() {
+		return paymentCash;
+	}
+	public void setPaymentCash(float paymentCash) {
+		this.paymentCash = paymentCash;
+	}
 	
 	
 	
src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
@@ -698,7 +698,12 @@
 	public void updateUserCashByAutoCash() throws Exception {
 		List<UserManageVO> userPrePaymentYnList = userManageDAO.selectUserPrePaymentYnList(new UserManageVO());
 		for (UserManageVO umVO: userPrePaymentYnList) {
-			if (umVO.getNowChargeCash() > 0) {
+			if (umVO.getPaymentCash() > 0) {
+				
+				//이번달에 입력된 후불 결제요청 데이터가 있는지 확인 - 혹시나 중복 입력을 방지하기 위함
+				int paymentCnt = userManageDAO.selectUserPrePaymentPGdataCount(umVO.getMberId());
+				
+				if(paymentCnt > 0) continue;
 				
 				//회원 정보 조회
 				MberManageVO mberManageVO = mberManageDAO.selectMber(umVO.getMberId()); //멤버ID에서 유니크ID로 수정 필요
src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
--- src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
+++ src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
@@ -316,4 +316,9 @@
     	return (List<UserManageVO>) list("userManageDAO.selectUserPrePaymentYnList", userManageVO);
     }	
     
+    // 이번달 입력된 결제요청 정보가 있는지 체크
+    public int selectUserPrePaymentPGdataCount(String userId) throws Exception{
+    	return (int) select("userManageDAO.selectUserPrePaymentPGdataCount", userId);
+    }
+    
 }
(No newline at end of file)
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
@@ -2714,6 +2714,23 @@
     			msg = "로그인이 필요합니다.";    		
         	}
         	else {
+        		
+        		MberManageVO mberManageVO = mberManageService.selectMber(userManageVO.getMberId());
+        		
+        		String taxbillAuto = mberManageVO.getTaxbillAuto();
+        		
+        		if(taxbillAuto == null || taxbillAuto.equals("N")) {
+        			
+        			isSuccess = false;
+        			msg = "세금계산서 자동발행의 선택이 안되어 있습니다. 확인 부탁드리겠습니다.";
+        			
+        			modelAndView.addObject("isSuccess", isSuccess);
+        			modelAndView.addObject("msg", msg);
+        			
+        			return modelAndView;
+        			
+        		}
+        		
         		int payCnt = userManageService.selectPayCountByUser(userManageVO);
         		if (payCnt > 0) {
         			isSuccess = false;
src/main/java/itn/web/MainController.java
--- src/main/java/itn/web/MainController.java
+++ src/main/java/itn/web/MainController.java
@@ -1169,6 +1169,31 @@
 		
 		model.addAttribute("myBankList", myBankList);
 		
+		String prePaymentYn = "";
+		if(loginVO != null) {
+			
+			String auth = loginVO.getAuthority();
+			
+			//사용자 권한인 경우만 실행
+			if(!auth.equals("ROLE_ADMIN")) {
+				
+				//후불회원 여부 조회
+				UserManageVO userManageVO = new UserManageVO();
+				
+				if(!userId.equals("")) {
+					userManageVO.setMberId(userId);
+					userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO);
+				}
+				
+				if(userManageVO.getPrePaymentYn() != null) {
+					prePaymentYn = userManageVO.getPrePaymentYn();
+				}
+				
+			}
+			
+		}
+		model.addAttribute("prePaymentYn", prePaymentYn);
+		
 		return "web/com/webCommonHeader";
     }
     
src/main/resources/egovframework/egovProps/globals_dev.properties
--- src/main/resources/egovframework/egovProps/globals_dev.properties
+++ src/main/resources/egovframework/egovProps/globals_dev.properties
@@ -99,7 +99,7 @@
 
 
 Globals.fax.xpedite.id=kr/itn0202
-Globals.fax.xpedite.pw=easytour7!
+Globals.fax.xpedite.pw=on240101!
 Globals.fax.file.save.path=/usr/local/tomcat/file/sht/fax
 Globals.fax.file.convert.path=/usr/local/tomcat/file/sht/fax/Convert
 Globals.fax.file.ori.path=/usr/local/tomcat/file/sht/fax
src/main/resources/egovframework/egovProps/globals_local.properties
--- src/main/resources/egovframework/egovProps/globals_local.properties
+++ src/main/resources/egovframework/egovProps/globals_local.properties
@@ -100,7 +100,7 @@
 
 
 Globals.fax.xpedite.id=kr/itn0202
-Globals.fax.xpedite.pw=easytour7!
+Globals.fax.xpedite.pw=on240101!
 Globals.fax.file.save.path=/usr/local/tomcat/file/sht/fax
 Globals.fax.file.convert.path=/usr/local/tomcat/file/sht/fax/Convert
 Globals.fax.file.ori.path=/usr/local/tomcat/file/sht/fax
src/main/resources/egovframework/egovProps/globals_prod.properties
--- src/main/resources/egovframework/egovProps/globals_prod.properties
+++ src/main/resources/egovframework/egovProps/globals_prod.properties
@@ -87,7 +87,7 @@
 Globals.mjon.biz.kakao.apiKey=dheBWCONP6J5
 
 Globals.fax.xpedite.id=kr/itn0202
-Globals.fax.xpedite.pw=easytour7!
+Globals.fax.xpedite.pw=on240101!
 Globals.fax.file.save.path=/usr/local/tomcat/file/sht/fax
 Globals.fax.file.convert.path=/usr/local/tomcat/file/sht/fax/Convert
 Globals.fax.file.ori.path=/usr/local/tomcat/file/sht/fax
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
@@ -2130,6 +2130,7 @@
 			, HOTLINE_AGENT_CODE	AS hotlineAgentCode
 			, BLINE_CODE			AS blineCode
 			, AT_SMISHING_YN		AS atSmishingYn
+			, PRE_PAYMENT_YN 		AS prePaymentYn
 		FROM   LETTNGNRLMBER
 		WHERE  MBER_ID = #userId#
 	
@@ -3139,11 +3140,12 @@
 	<select id="mjonMsgDAO.selectPayUserSWList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
 		SELECT
 		COUNT(pay.totCnt) OVER()    AS totCnt
+		, SUM(pay.succSendPrice) OVER() AS totSuccSendPrice
 		, pay.regDate                                                   AS regDate 
 		, pay.sendCount                                                 AS sendCount 
 		, pay.succSendCnt          										AS succSendCnt
-        , pay.failSendCnt          										AS failSendCnt
         , pay.succSendPrice        										AS succSendPrice
+        , pay.failSendCnt          										AS failSendCnt
         , pay.failSendPrice        										AS failSendPrice
 		, pay.smsTxt                                                    AS smsTxt 
 		, pay.subject                                                   AS subject 
@@ -3169,8 +3171,8 @@
 			, M.regDate			AS regDate
 			, M.sendCount		AS sendCount
 			, SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 ))                AS succSendCnt
-            , SUM(IF(RESULT = 'F', 1, 0 ))                                AS failSendCnt
             , SUM(IF(RESULT = 'W' OR RESULT = 'S', 1, 0 )) * M.eachPrice  AS succSendPrice
+            , SUM(IF(RESULT = 'F', 1, 0 ))                                AS failSendCnt
             , SUM(IF(RESULT = 'F', 1, 0 ))                 * M.eachPrice  AS failSendPrice
 			, M.smsTxt			AS smsTxt
 			, M.subject			AS subject
src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
@@ -2188,7 +2188,7 @@
 	<select id="mjonPayDAO.selectCashInfoList" parameterClass="String" resultClass="mjonPayVO">
 		SELECT
 			'chargeCash'	AS divFlag
-			,SUM(CASH)		AS cashSum
+			,NVL(SUM(CASH),0)		AS cashSum
 		FROM
 			MJ_PG
 		WHERE 1=1
@@ -2225,7 +2225,7 @@
 	<![CDATA[
 		SELECT
 			'chargePoint' AS divFlag
-			,SUM(POINT) AS sumPay
+			,NVL(SUM(POINT),0) AS sumPay
 		FROM
 			MJ_POINT
 		WHERE 1=1
@@ -2279,4 +2279,40 @@
 	
 	</select>
 	
+	<select id="mjonPayDAO.selectTotalSumCashForAfterPay" parameterClass="String" resultClass="String">
+		
+		<![CDATA[
+			
+			SELECT NVL(ABS(SUM(CASH)), 0) FROM MJ_CASH 
+			WHERE USER_ID = #userId#
+			AND DEL_FLAG = 'N'
+			AND MSG_GROUP_ID IS NOT NULL 
+		
+		]]>
+	</select>
+	
+	<select id="mjonPayDAO.selectTotalSumPointForAfterPay" parameterClass="String" resultClass="String">
+		
+		SELECT  NVL(B.POINT , 0) AS point 
+		FROM LETTNGNRLMBER A  
+		LEFT JOIN 
+		(
+			SELECT SUM(POINT) AS POINT , USER_ID  FROM MJ_POINT A
+				GROUP BY A.USER_ID , A.DEL_FLAG
+				HAVING USER_ID = #userId#  AND A.DEL_FLAG = 'N' 
+		) B ON A.MBER_ID = B.USER_ID
+		WHERE A.MBER_ID = #userId# 
+	
+	</select>
+	
+	<select id="mjonPayDAO.selectTotSumPaymentAfterPay" parameterClass="String" resultClass="String">
+		
+		SELECT NVL(SUM(CASH), 0)
+		FROM   MJ_PG
+		WHERE  USER_ID      = #userId#
+		AND    PG_STATUS    = 1
+		AND    AFTER_PAY_YN = 'Y'
+	
+	</select>
+	
 </sqlMap>
(No newline at end of file)
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
@@ -1405,6 +1405,29 @@
 		
 	<!-- 후불제 회원 목록 -->
 	<select id="userManageDAO.selectUserPrePaymentYnList" parameterClass="userVO" resultClass="userVO">
+	
+		SELECT   IFNULL(SUM(MC.CASH * -1), 0) AS paymentCash,
+			  	 IFNULL(MB.AUTO_CASH - MB.USER_MONEY, 0) AS nowChargeCash,
+		         MC.USER_ID                                     AS mberId,
+		         MB.AUTO_CASH                                   AS autoCash
+		FROM     MJ_CASH MC
+		         INNER JOIN LETTNGNRLMBER MB
+		         ON       MC.USER_ID         = MB.MBER_ID
+		         AND      MB.PRE_PAYMENT_YN  = 'N'
+		         AND      MB.MBER_STTUS      = 'Y'
+		WHERE    YEAR(MC.FRST_REGIST_PNTTM)  = YEAR(CURRENT_DATE  - INTERVAL 1 MONTH)
+		AND      MONTH(MC.FRST_REGIST_PNTTM) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
+		AND
+		         (
+		                  MC.MSG_GROUP_ID IS NOT NULL OR MEMO = '맞춤문자 신청'
+		         )
+		GROUP BY MC.USER_ID
+		
+	</select>
+	
+	
+	<!-- 후불제 회원 목록 기존 소스 백업-->
+	<select id="userManageDAO.selectUserPrePaymentYnList_bak" parameterClass="userVO" resultClass="userVO">
 		SELECT 
 			M.mberId,
 			M.autoCash,
@@ -1420,5 +1443,16 @@
 			WHERE PRE_PAYMENT_YN = 'N' AND A.MBER_STTUS = 'Y'
 		) M
 	</select>
+	
+	
+	<select id="userManageDAO.selectUserPrePaymentPGdataCount" parameterClass="String" resultClass="Integer">
+	
+		SELECT COUNT(MOID)
+		FROM   MJ_PG
+		WHERE  USER_ID                     = #userId#
+		AND    YEAR(REG_DATE)  = YEAR(CURRENT_DATE)
+		AND    MONTH(REG_DATE) = MONTH(CURRENT_DATE)
+	
+	</select>
 		
 </sqlMap>
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
@@ -1439,6 +1439,23 @@
 
 //후불제 여부
 function fnMberPrePaymentYn(prePaymentYn){
+	
+	var form = document.mberManageVO;
+	var taxbillAuto = form.taxbillAuto.value;
+	var sumPayMoney = '${sumPayMoney}';
+	
+	//기존 결재 내역 존재 여부 확인	
+	if(sumPayMoney > 0){
+		alert("회원의 결제내역 정보가 존재합니다. 확인 부탁드리겠습니다.");
+		return false;
+	}
+	
+	//세금계산서 자동발행 여부 확인
+	if(taxbillAuto == '' || taxbillAuto == 'N'){
+		alert("세금계산서 자동발행의 선택이 안되어 있습니다. 확인 부탁드리겠습니다.");
+		return false;
+	}
+	
 	if(confirm("후불제로 변경하시겠습니까?\n후불제로 변경하면 선불제로 변경 불가합니다.")){
 		
 		$.ajax({
@@ -2965,6 +2982,7 @@
 						<input type="hidden" name="rsaPasswd" id="rsaPasswd" />
 						<input type="hidden" id="RSAModulus" value="${RSAModulus}"/>
 					    <input type="hidden" id="RSAExponent" value="${RSAExponent}"/>
+					    <input type="hidden" id="taxbillAuto" name="taxbillAuto" value="<c:out value='${mberManageVO.taxbillAuto}'/>"/>
 					    
 						<div class="area_top">
 							<p><span>·</span> 이용자 정보 조회</p>
src/main/webapp/WEB-INF/jsp/layout/include/defaultResource.jsp
--- src/main/webapp/WEB-INF/jsp/layout/include/defaultResource.jsp
+++ src/main/webapp/WEB-INF/jsp/layout/include/defaultResource.jsp
@@ -75,6 +75,8 @@
 		
 		<!-- Uncaught TypeError: e.widget is not a function로 인해 가장 마지막에 선언_이준호_220510 -->
 		<script type="text/javascript" src="/dist/js/jquery_wrapper.min.js"></script>
+		<%-- 20240110 matomo 사용 안함으로 인하여 주석처리 함 
+		
 		<c:if test="${fn:contains(pageContext.request.requestURL, 'munjaon.co.kr')}">
 			<!-- Matomo -->
 			<script>
@@ -96,5 +98,5 @@
 			</script>
 			<noscript><p><img src="https://mtm.munjaon.co.kr:9997/matomo.php?idsite=2&amp;rec=1" style="border:0;" alt="" /></p></noscript>
 			<!-- End Matomo Code -->
-		</c:if>
+		</c:if> --%>
 		
(No newline at end of file)
src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
@@ -870,7 +870,7 @@
 							<tr class="moneyBack">
 								<th>은행명</th>
 								<td>
-									<label for="" class="label">은행명 선택</label>
+									<label for="bankNm" class="label">은행명 선택</label>
 									<select id="bankNm" name="bankNm" onclick="pointLimitUnderAction()">
 										<option value="">은행선택</option>
 										<option value="국민은행">국민은행</option>
@@ -886,21 +886,21 @@
 							<tr class="moneyBack">
 								<th>계좌번호</th>
 								<td>
-									<label for="" class="label">계좌번호 입력</label>
+									<label for="accountNum" class="label">계좌번호 입력</label>
 									<input type="text" name="accountNum" id="accountNum" placeholder="계좌번호를 입력해주세요" onfocus="this.placeholder=''" onblur="this.placeholder='새 계좌번호를 입력해주세요'"class="inputLight" style="width: 100%;" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1');" maxlength="20" onclick="pointLimitUnderAction()">
 								</td>
 							</tr>
 							<tr class="moneyBack">
 								<th>예금주</th>
 								<td>
-									<label for="" class="label">예금주 입력</label>
+									<label for="accountNm" class="label">예금주 입력</label>
 									<input type="text" name="accountNm" id="accountNm" placeholder="예금주를 입력해주세요" onfocus="this.placeholder=''" onblur="this.placeholder='새 예금주를 입력해주세요'"class="inputLight" style="width: 100%;" maxlength="20" onclick="pointLimitUnderAction()">
 								</td>
 							</tr>
 							<tr class="moneyBack">
 								<th>연락처</th>
 								<td>
-									<label for="" class="label">연락처 입력</label>
+									<label for="mbtlNum" class="label">연락처 입력</label>
 									<input type="text" name="mbtlNum" id="mbtlNum" placeholder="‘-’없이 전화번호를 입력해주세요" onfocus="this.placeholder=''" onblur="this.placeholder='‘-’없이 전화번호를 입력해주세요'"class="inputLight" style="width: 100%;" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1');" maxlength="20" onclick="pointLimitUnderAction()">
 								</td>
 							</tr>
@@ -915,9 +915,9 @@
 							<tr>
 								<th>목록 노출</th>
 								<td>
-									<label for="point" class="label">목록 노출여부</label>
-									<input type="radio" name="screenYn" value="Y" checked="checked">노출 
-									<input type="radio" name="screenYn" value="N">비노출
+									<label for="screenYnY" class="label">목록 노출여부</label>
+									<input type="radio" id="screenYnY" name="screenYn" value="Y" checked="checked">노출 
+									<input type="radio" id="screenYnN" name="screenYn" value="N">비노출
 								</td>
 							</tr>
 						</tbody>
@@ -1419,8 +1419,8 @@
 	            				<dt><a href="<c:out value='/web/mjon/msgcampain/selectMsgDataView.do'/>" rel="nosublink">선거문자</a></dt>
 	            				<dd>
 	            					<ul>
-	            						<li><a href="<c:out value='/web/mjon/msgcampain/selectMsgDataView.do'/>" rel="nosublink">단문·장문·그림문자</a></li>
-	            						<li><a href="<c:out value='/web/mjon/msgcampain/excel/selectMsgExcelDataView.do'/>">단체문자</a></li>
+	            						<li><a href="<c:out value='/web/mjon/msgcampain/selectMsgDataView.do'/>">단체문자</a></li>
+	            						<li><a href="<c:out value='/web/mjon/msgcampain/selectMsgTWDataView.do'/>" rel="nosublink">20건 문자</a></li>
 	            					</ul>
 	            				</dd>
 	            			</dl>
@@ -1524,7 +1524,7 @@
 	            						<li><a href="<c:out value='/web/pay/PayGuide.do'/>" rel="nosublink">요금안내/견적내기</a></li>
 	            						<li><a href="<c:out value='/web/member/pay/PayView.do'/>" rel="nosublink">결제하기</a></li>
 	            						<li><a href="<c:out value='/web/member/pay/PayList.do'/>" rel="nosublink">요금 결제내역</a></li>
-	            						<li><a href="<c:out value='/web/member/pay/PayUserList.do'/>" rel="nosublink">요금 사용내역</a></li>
+	            						<li><a href="<c:out value='/web/member/pay/PayUserSWList.do'/>" rel="nosublink">요금 사용내역</a></li>
 										<!-- 현금영수증 자동발행 주석 -->
 	            						<%-- <li><a href="<c:out value='/web/member/pay/BillPub.do'/>" rel="nosublink">계산서/현금영수증 발행 등록</a></li> --%>
 	            						<li><a href="<c:out value='/web/member/pay/BillPub.do'/>" rel="nosublink">세금계산서 발행</a></li>
@@ -1635,9 +1635,16 @@
 		                    </div>
 		                    <div class="login_pay">
 			                    <div class="check_money">
-									<i></i>
-									<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
-			                        <p>보유잔액<em>(캐시)</em> <span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원</p>
+			                    	<div class="holdingsum_box">
+										<i></i>
+										<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
+			                        	<p>보유잔액<em>(캐시)</em> <span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원</p>
+			                        	<c:if test="${prePaymentYn eq 'N'}">
+				                        	<dl>
+								              <dd>후불제 고객의 보유잔액(캐시)은 당월 발송 가능<br>금액을 말하며 <span>매월 1일 자동으로 충전</span>됩니다.</dd>
+								            </dl>
+			                        	</c:if>
+			                        </div>
 			                        <button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do'">충전</button>
 			                        <div class="account_box">
 			                        	<button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do?tabType=2'">전용계좌</button>
src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp
--- src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp
@@ -30,7 +30,12 @@
 </c:if>
 <meta property="og:image" content="https://www.munjaon.co.kr/publish/images/favicon/ms-icon-144x144.png">
 <meta property="og:url" content="https://www.munjaon.co.kr/web/main/mainPage.do">	    
-	    
+	   
+
+<c:if test="${fn:contains(pageContext.request.requestURL, '/web/pay/PayGuide.do')}">
+	<!-- 요금안내 화면 태그 추가 -->
+	<meta name="robots" content="noindex">
+</c:if>
 <c:choose>
 	<c:when test="${fn:contains(pageContext.request.requestURL, '/web/main/mainPage.do')}">
 		<link rel="canonical" href="https://www.munjaon.co.kr/web/main/mainPage.do">
src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeRegist.jsp
--- src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeRegist.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeRegist.jsp
@@ -114,25 +114,25 @@
 			<div class="input_list_item bis_status">
 					<div class="input_left">이메일</div>
 					<div class="input_right">
-						<label for="" class="label">이메일 주소 앞자리</label>
-						<input type="text" value="${fn:substringBefore(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
+						<label for="emailId" class="label">이메일 주소 앞자리</label>
+						<input type="text" id="emailId" value="${fn:substringBefore(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
 						<span>@</span>
-						<label for="" class="label">이메일 주소 뒷자리</label>
-						<input type="text" value="${fn:substringAfter(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
+						<label for="emailDomain" class="label">이메일 주소 뒷자리</label>
+						<input type="text" id="emailDomain" value="${fn:substringAfter(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
 					</div>
 			</div>
 			<div class="input_list_item">
 				<div class="input_left">휴대폰</div>
 				<div class="input_right">
-					<label for="" class="label">휴대폰</label>
-					<input type="text" class="list_inputType1" value="${mberManageVO.moblphonNo}" disabled>
+					<label for="moblphonNo" class="label">휴대폰</label>
+					<input type="text" class="list_inputType1" id="moblphonNo" value="${mberManageVO.moblphonNo}" disabled>
 				</div>
 			</div>
 			<c:if test="${boardType ne 'suggest'}">
 			<div class="input_list_item">
 				<div class="input_left">구분</div>
 				<div class="input_right">
-					<label for="" class="label">구분 선택</label>
+					<label for="bbsId" class="label">구분 선택</label>
 					<select class="list_selType1" name="bbsId" id="bbsId">
 						<c:forEach var="result" items="${boardMenuList}" varStatus="status">
 							<option value="${result.bbsId}">${result.bbsNm}</option>
@@ -147,14 +147,14 @@
 			<div class="input_list_item">
 				<div class="input_left">제목</div>
 				<div class="input_right">
-					<label for="" class="label">문의사항 제목</label>
+					<label for="nttSj" class="label">문의사항 제목</label>
 					<input type="text" name="nttSj" id="nttSj"  value="" class="list_inputType1" placeholder="문의사항 제목 입력" onfocus="this.placeholder=''" onblur="this.placeholder='문의사항 제목 입력 입력'">
 				</div>
 			</div>
 			<div class="input_list_item textWrap">
 				<div class="input_left">내용</div>
 				<div>
-					<label for="" class="label">문의내용</label>
+					<label for="nttCn" class="label">문의내용</label>
 					<form:textarea path="nttCn"/>
 				</div>
 			</div>
src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeUpdt.jsp
--- src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticeUpdt.jsp
@@ -106,27 +106,27 @@
 					<div class="input_list_item bis_status">
 						<div class="input_left">이메일</div>
 						<div class="input_right">
-							<label for="" class="label">이메일 주소 앞자리</label>
-							<input type="text" value="${fn:substringBefore(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
+							<label for="emailId" class="label">이메일 주소 앞자리</label>
+							<input type="text" id="emailId" value="${fn:substringBefore(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
 							<span>@</span>
-							<label for="" class="label">이메일 주소 뒷자리</label>
-							<input type="text" value="${fn:substringAfter(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
+							<label for="emailDomain" class="label">이메일 주소 뒷자리</label>
+							<input type="text" id="emailDomain" value="${fn:substringAfter(mberManageVO.mberEmailAdres, '@')}" class="list_inputType1" disabled>
 						</div>
 					</div>
 					<div class="input_list_item">
 						<div class="input_left">휴대폰</div>
 						<div class="input_right">
-							<label for="" class="label">휴대폰</label>
-							<input type="text" class="list_inputType1" value="${mberManageVO.moblphonNo}" disabled>
+							<label for="moblphonNo" class="label">휴대폰</label>
+							<input type="text" id="moblphonNo" class="list_inputType1" value="${mberManageVO.moblphonNo}" disabled>
 						</div>
 					</div>
 					<div class="input_list_item">
 						<div class="input_left">구분</div>
 						<div class="input_right">
-							<label for="" class="label">구분 선택</label>
 							<c:forEach var="result" items="${boardMenuList}" varStatus="status">
 								<c:if test="${result.bbsId eq brdMstrVO.bbsId}">
-								${result.bbsNm} 
+									<label for="bbsNm" class="label">구분 선택</label>
+									<input type="text" id="bbsNm" class="list_inputType1" value="${result.bbsNm}" disabled>
 								</c:if>
 							</c:forEach>
 						</div>
@@ -134,14 +134,14 @@
 					<div class="input_list_item">
 						<div class="input_left">제목</div>
 						<div class="input_right">
-							<label for="" class="label">문의사항 제목</label>
+							<label for="nttSj" class="label">문의사항 제목</label>
 							<input type="text" name="nttSj" id="nttSj"  value="${board.nttSj}" class="list_inputType1" placeholder="문의사항 제목 입력" onfocus="this.placeholder=''" onblur="this.placeholder='문의사항 제목 입력 입력'">
 						</div>
 					</div>
 					<div class="input_list_item textWrap">
 						<div class="input_left">문의내용</div>
 						<div>
-							<label for="" class="label">문의내용</label>
+							<label for="nttCn" class="label">문의내용</label>
 							<form:textarea path="nttCn"/>
 						</div>
 					</div>
src/main/webapp/WEB-INF/jsp/web/cop/bbs/FaqList.jsp
--- src/main/webapp/WEB-INF/jsp/web/cop/bbs/FaqList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/bbs/FaqList.jsp
@@ -123,7 +123,7 @@
 					<div>
 						<div class="search_wrap clearfix">
 							<div class="btn_left">
-								<label for="" class="label">검색조건 선택</label>
+								<label for="searchSel" class="label">검색조건 선택</label>
 								<select name="searchCnd" id="searchSel" class="selType2">
 									<option value="" <c:if test="${searchVO.searchCnd == ''}">selected="selected"</c:if>>전체</option>
 									<option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if>>제목</option>
src/main/webapp/WEB-INF/jsp/web/cop/bbs/QnaList.jsp
--- src/main/webapp/WEB-INF/jsp/web/cop/bbs/QnaList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/bbs/QnaList.jsp
@@ -161,7 +161,7 @@
                                 <button type="button" class="btnType btnType2" onclick="javascript:linkPage('1'); return false;"><img src="/publish/images/content/searchW.png" alt="검색"></button>
                             </div>
                             <div class="btn_right2">
-                                <label for="searchCnd" class="label">검색조건 선택</label>
+                                <label for="searchSel" class="label">검색조건 선택</label>
                                 <select name="searchCnd" id="searchSel" class="selType2">
 									<option value="" <c:if test="${searchVO.searchCnd == ''}">selected="selected"</c:if>>전체</option>
 									<option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if>>제목</option>
src/main/webapp/WEB-INF/jsp/web/cop/bbs/SuggestList.jsp
--- src/main/webapp/WEB-INF/jsp/web/cop/bbs/SuggestList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/cop/bbs/SuggestList.jsp
@@ -161,7 +161,7 @@
                                 <button type="button" class="btnType btnType2" onclick="javascript:linkPage('1'); return false;"><img src="/publish/images/content/searchW.png" alt="검색"></button>
                             </div>
                             <div class="btn_right2">
-                                <label for="searchCnd" class="label">검색조건 선택</label>
+                                <label for="searchSel" class="label">검색조건 선택</label>
                                 <select name="searchCnd" id="searchSel" class="selType2">
 									<option value="" <c:if test="${searchVO.searchCnd == ''}">selected="selected"</c:if>>전체</option>
 									<option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if>>제목</option>
src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomListAjax.jsp
@@ -16,14 +16,20 @@
 		<c:forEach var="customList" items="${resultCustomList}" varStatus="status">
 			<li id="${customList.letterId}">
 				<c:set var="strImgPath" value="${customList.fileStreCours}/${customList.streFileNm}.${customList.fileExtsn}"/>
+				
+				<%-- 이미지 alt 값 셋팅 --%>
+				<c:set var="imgAlt" value="${customList.letterAlt}"/>
+				<c:if test="${empty imgAlt}">
+					<c:set var="imgAlt" value="맞춤제작 샘플 이미지"/>
+				</c:if>
 				<div class="hover_cont">
 					<a ref='#' onclick='selectSampleImg("${customList.attachFileId}","${customList.fileSn}","${customList.letterId}");'>
-						<img src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${customList.attachFileId}"/>&fileSn=<c:out value="${customList.fileSn}"/>" alt="<c:out value='${customList.letterAlt}'/>">
+						<img src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${customList.attachFileId}"/>&fileSn=<c:out value="${customList.fileSn}"/>" alt="<c:out value='${imgAlt}'/>">
 					</a> 
 				</div>
 				<div class="photo_cont">
 					<a ref='#' onclick='selectSampleImg("${customList.attachFileId}","${customList.fileSn}","${customList.letterId}");'>
-						<img src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${customList.attachFileId}"/>&fileSn=<c:out value="${customList.fileSn}"/>" alt="<c:out value='${customList.letterAlt}'/>">
+						<img src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${customList.attachFileId}"/>&fileSn=<c:out value="${customList.fileSn}"/>" alt="<c:out value='${imgAlt}'/>">
 					</a>
 				</div>
 			</li>
src/main/webapp/WEB-INF/jsp/web/kakao/template/at/KakaoAlimtalkTemplateDetail.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/template/at/KakaoAlimtalkTemplateDetail.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/template/at/KakaoAlimtalkTemplateDetail.jsp
@@ -732,8 +732,8 @@
         <div class="top_content kakaotalkset_cont current pay_tab_wrap">
             <div class="heading">
                 <h2>카카오톡 설정</h2>
-                <button type="button" class="button info"
-                    onclick="window.open('popup_kakaoset_template.html','_blank','width=790, height=300, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">사용안내</button>
+                <%-- <button type="button" class="button info" onclick="window.open('popup_kakaoset_template.html','_blank','width=790, height=300, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">사용안내</button> --%>
+                <button type="button" class="button info" onclick="window.open('/web/pop/kakaoTemplatePop.do','_blank','width=790, height=300, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">사용안내</button>
             </div>
             <div class="list_tab_wrap2 type2 ">
                 <!-- tab button -->
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
@@ -1499,7 +1499,7 @@
 		<div class="inner">
 			<!-- <p class="tit_text">이런 문자 어때요?</p> -->
 			<p class="tit_text">이런 단체문자, 대량문자 샘플 어때요?</p>
-			<p class="sub_text">단체문자, 대량문자, 경조문자, 부고문자, 광고문자, 홍보문자, 조문문자, 결혼문자, 예약문자, 사진문자, 그림문자, SMS, LMS, MMS, 병원문자, 위로문자, 응원문자, 행사문자, 기념일문자, 웹문자, 인터넷문자, 문자사이트, 답례문자, 그룹문자 등 다양한 샘플 무료 제공</p>
+			<!-- <p class="sub_text">단체문자, 대량문자, 경조문자, 부고문자, 광고문자, 홍보문자, 조문문자, 결혼문자, 예약문자, 사진문자, 그림문자, SMS, LMS, MMS, 병원문자, 위로문자, 응원문자, 행사문자, 기념일문자, 웹문자, 인터넷문자, 문자사이트, 답례문자, 그룹문자 등 다양한 샘플 무료 제공</p> -->
 			<div class="tabs">
 				<!-- Default tab_depth1 - 전체 / tab_depth2 - 인기그림문자 / tab_depth3 - BEST -->
 				<!-- <div class="tab_depth1 tDep2_mType">
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
@@ -3259,7 +3259,7 @@
 	<div class="tooltip-wrap">
 		<div class="popup-com candidate_layer candidate_popup01" tabindex="0" data-tooltip-con="candidate_popup01" data-focus="candidate_popup01" data-focus-prev="candidate_popup01-close" style="width: 620px;">
 			<div class="popup_heading">
-				<p>후보자 등록정보</p>
+				<p>후보자 등록</p>
 				<button type="button" class="tooltip-close" data-focus="candidate_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
 			</div>
 			
src/main/webapp/WEB-INF/jsp/web/msgcampain/PhotoListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/PhotoListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/PhotoListAjax.jsp
@@ -21,8 +21,13 @@
 							--%>
 						</div>
 						<div class="photo_cont">
+							<%-- 이미지 alt 값 셋팅 --%>
+							<c:set var="imgAlt" value="${photoList.letterAlt}"/>
+							<c:if test="${empty imgAlt}">
+								<c:set var="imgAlt" value="선거문자 샘플 이미지"/>
+							</c:if>
 							<%-- <img class="photoOnImg" src="<c:url value='${strImgPath}'/>" alt=""> --%>
-							<img class="photoOnImg" id="${photoList.letterId}" src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>"  alt="<c:out value='${photoList.letterAlt}'/>">
+							<img class="photoOnImg" id="${photoList.letterId}" src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>"  alt="<c:out value='${imgAlt}'/>">
 							<input type="hidden" id="photoOnImg_${status.index + 1}" name="photoOnImg_${status.index + 1}" value="${photoList.attachFileId}"/>
 						</div>
 					</li>	
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
@@ -3489,7 +3489,7 @@
 	<div class="tooltip-wrap">
 		<div class="popup-com candidate_layer candidate_popup01" tabindex="0" data-tooltip-con="candidate_popup01" data-focus="candidate_popup01" data-focus-prev="candidate_popup01-close" style="width: 620px;">
 			<div class="popup_heading">
-				<p>후보자 등록정보</p>
+				<p>후보자 등록</p>
 				<button type="button" class="tooltip-close" data-focus="candidate_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
 			</div>
 			
@@ -3817,28 +3817,29 @@
 	</div>
 	<!--// 주소록에 등록 팝업 -->
 	
-	<!--선거문자 이용안내 팝업  -->
-	<div class="tooltip-wrap">
+	<!--선거 20건문자 이용안내 팝업 추가  -->
+	<div class="tooltip-wrap tw_wrap ">
 		<div class="popup-com ad_layer candidate_popup03" tabindex="0" data-tooltip-con="candidate_popup03" data-focus="candidate_popup03" data-focus-prev="candidate_popup03-close" style="width: 795px">
 			<div class="popup_heading">
-				<p>선거문자 안내</p>
+				<p>20건 문자(수동문자) 이용안내</p>
 				<button type="button" class="tooltip-close" data-focus="candidate_popup03-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
 			</div>
 			<div class="layer_in">
-				<img src="/publish/images/content/candidatePop_banner.png" alt="선거문자 이용안내 배너" class="candidate_banner">
+				<img src="/publish/images/popup/tw_popup/tw_banner.png" alt="문자온에서 후보님의 당선을 지원합니다. 20건 문자(수동문자) 이용안내" class="candidate_banner">
 				<ul class="info_list">
 		    		<li>- 90byte 초과 시, 자동으로 장문으로 전환됩니다.  장문 문자는 최대 2,000byte까지만 작성할 수 있습니다.</li>
 		    		<li>- 그림문자 1건당 최대 3장까지 이미지 첨부 가능  [권장 사이즈 : <strong>640 x 960</strong>픽셀 / 최대용량 : <strong>10MB</strong> 이내]</li>
-		    		<li>- 광고성 메시지는 <span>반드시 아래 유의사항을 사전 확인</span> 후 발송해 주시기 바랍니다.</li>
 		    	</ul>
 				<!-- 이용방법/혜택 -->
 				<div class="cdpop_cont current" id="listTab2_1">
-					<div>
+					<div class="con">
 						<p class="cdpop_title">
-							<i class="cdpop_title_icon1"></i>선거문자 이용방법
+							<i class="tw_title01_icon"></i>20건 문자 이용절차
+							<!--
 							<span class="customReq">
 								<button type="button" onclick="goToCustom();"><i></i>선거문자 맞춤제작</button>
 							</span>
+							-->
 						</p>
 						<ul class="cdpop_info">
 							<li>
@@ -3879,80 +3880,86 @@
 							</li>
 						</ul>
 					</div>
-					<div>
-						<p class="cdpop_title"><i class="cdpop_title_icon2"></i>문자온 선거문자만의 장점 및 혜택</p>
-						<ul class="cdpop_benefit">
-							<li>
-								<div>
-									<i class="benefit1"></i>
-									<p>한 번에 대량으로 보내야 한다면?<span>10만건까지 동시 전송 가능</span></p>
-								</div>
-								<p>문자온의 대량전송(엑셀·TXT) 모듈을 통해
-									10만건의 대량문자도 쉽고 빠르게 전송 가능합니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit2"></i>
-									<p>수신거부 번호가 필요하세요?<span>080 수신거부 번호 무료제공</span></p>
-								</div>
-								<p>선거문자 발송규정 준수를 위해
-									080 수신거부 번호를 무료로 제공해 드립니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit3"></i>
-									<p>주소록 등록이 번거로우신가요?<span>주소록 등록 무료대행</span></p>
-								</div>
-								<p>주소록 등록파일(엑셀·TXT)을 문자온에 제공해
-									주시면 무료로 빠르고 신속하게 등록해 드립니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit4"></i>
-									<p>홍보효과를 높이고 싶다면?<span>후보자만의 그림문자 맞춤제작</span></p>
-								</div>
-								<p>선거공약, 인사말, 후보자 사진 등을 넣어 그림문자를
-									맞춤 제작하여 홍보효과를 극대화할 수 있습니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit5"></i>
-									<p>오류·실패건의 문자를 보상받고 싶다면?<span>오류·실패건 문자 100% 환불</span></p>
-								</div>
-								<p>번호오류, 수신거부, 수신실패 등으로 인해 문자전송이
-									실패한 경우 100% 환불(자동충전)해 드립니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit6 "></i>
-									<p>전송결과가 궁금하다면?<span>실시간 전송결과 확인 가능</span></p>
-								</div>
-								<p>전송결과 및 실패사유를 실시간으로 제공해드립니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit7"></i>
-									<p>20건씩 나눠서 보내야한다면?<span>20건씩 분할 예약 전송 가능</span></p>
-								</div>
-								<p>누구나 쉽고 편리하게 20건씩 나눠서 분할 전송이 가능합니다.</p>
-							</li>
-							<li>
-								<div>
-									<i class="benefit8"></i>
-									<p>필요한 서류가 있다면?<span>문자온에서 간편하게 신청 가능</span></p>
-								</div>
-								<p>문자온에서 발송내역서 출력이 가능하며,
-									세금계산서는 메일로 자동으로 발행됩니다.</p>
-							</li>
-						</ul>
+					<div class="con">
+						<p class="cdpop_title tw_title"><i class="tw_title02_icon"></i>후보자 등록 방법</p>
+						<div class="tw_con">
+							<ul>
+								<li>- 선거관리위원회에 등록된 후보자 정보와 세금계산서 담당자 정보를 입력합니다.</li>
+								<li class="sub_te">세금계산서 발행을 위한 정보로만 사용됩니다.</li>
+							</ul>
+							<img src="/publish/images/popup/tw_popup/tw_con_01.jpg" alt="받는 사람 목록 불러오기">
+						</div>
 					</div>
-				</div><!--// 이용방법/혜택 -->
+					<div class="con">
+						<p class="cdpop_title tw_title"><i class="tw_title03_icon"></i>받는 사람 목록 불러오기</p>
+						<div class="tw_con">
+							<ul>
+								<li>- 주소록 관리 메뉴에서 등록한 주소록을 불러오거나 PC에 저장된 엑셀 파일을 불러올 수 있습니다.</li>
+								<li>- 주소록 불러오기
+									<ul class="sub_li">
+										<li>① 그룹을 선택합니다.</li>
+										<li>② 체크박스 개별 또는 전체 선택을 통해 받는 사람 목록을 선택합니다.</li>
+										<li>③ 추가 버튼을 클릭합니다.</li>
+									</ul>
+								</li>
+								<li class="li_02">- 엑셀 불러오기
+									<ul class="sub_li">
+										<li>① 찾아보기를 클릭하여 불러올 엑셀 파일을 선택합니다.</li>
+										<li>② 추가 버튼을 클릭합니다.</li>
+									</ul>
+								</li>
+							</ul>
+							<img src="/publish/images/popup/tw_popup/tw_con_02.jpg" alt="받는 사람 목록 불러오기 1">
+							<ul>
+								<li class="te">- 받는 사람 목록 선택이 완료되면 20건 씩 받는 사람을 선택할 수 있도록 화면에 표시되며, 불러온 받는 사람 목록 전체에 대한 전체 받는사람 수, 전송완료 수, 잔여 받는사람 수를 확인할 수 있습니다.</li>
+								<li class="sub_te">불러온 받는 사람 목록은 재접속, 재로그인 시에도 유지되오니 목록을 삭제하고 싶은 경우에는<br>초기화 버튼을 눌러주세요.</li>
+							</ul>
+							<img src="/publish/images/popup/tw_popup/tw_con_03.jpg" alt="받는 사람 목록 불러오기 2">
+						</div>
+					</div>
+					<div class="con">
+						<p class="cdpop_title tw_title"><i class="tw_title04_icon"></i>20명 수동 선택 후 발송하기</p>
+						<div class="tw_con">
+							<ul>
+								<li>- 수동 선택 방법 (4가지 방법 가능)
+									<ul class="sub_li">
+										<li>① 체크박스를 하나씩 차례로 선택</li>
+										<li>② 받는 사람 목록 전화번호 위에서 마우스 왼쪽을 길게 누르고 드래그하여 영역 선택</li>
+										<li>③ 1명씩 선택 버튼을 계속 누르고 있으면 20명이 모두 선택</li>
+										<li>④ 전체버튼을 누르면 20명이 한번에 선택</li>
+									</ul>
+								</li>
+								<li class="te" style="margin-top: 10px;">
+									- 발송하기 버튼을 클릭하면 선택한 20건 문자가 발송되고 받는 사람 목록에 있는 다음 20건이 자동으로 화면에 표시됩니다.
+								</li>
+							</ul>
+							<img src="/publish/images/popup/tw_popup/tw_con_04.jpg" alt="20명 수동 선택 후 발송하기">
+						</div>
+					</div>
+					<div class="con">
+						<p class="cdpop_title tw_title"><i class="tw_title05_icon"></i>예약문자 발송하기</p>
+						<div class="tw_con">
+							<ul>
+								<li class="te">- 선택한 20건 문자의 발송이 예약되고, 받는 사람 목록에 있는 다음 20건이 자동으로 화면에 표시됩니다.
+									<ul class="sub_li" style="margin-top: 5px;">
+										<li>① 예약 라디오 버튼을 클릭합니다.</li>
+										<li>② 예약일자 및 시간을 선택합니다.</li>
+										<li>③ 예약하기 버튼을 클릭합니다.</li>
+									</ul>
+								</li>
+							</ul>
+							<img src="/publish/images/popup/tw_popup/tw_con_05.jpg" alt="예약문자 발송하기" style="margin-bottom: 0;">
+						</div>
+					</div>
+				</div>
+				<!--// 이용방법/혜택 -->
 			</div>
 			<div class="popup_btn_wrap2" style="margin: 0 auto 30px auto;">
 				<button type="button" class="tooltip-close" data-focus="candidate_popup03-close"  data-focus-next="candidate_popup03">닫기</button>                      
 			</div>
 		</div>
-	</div><!--// 선거문자 이용안내 팝업 -->
+	</div>
+	<!--//선거 20건문자 이용안내 팝업 추가 -->
 	
 		<!-- 이벤트 잔여 캐시 정보 표시 팝업 -->
 	<div class="tooltip-wrap">
@@ -4072,7 +4079,7 @@
 	        <h2>20건 문자(수동문자) 전송</h2>
 	        <div class="election_btnWrap">
 	        	<button type="button" class="button2 info" onclick="infoPop('selectMsgDataView2');">발송규정</button>
-	        	<!-- <button type="button" class="button2 info" data-tooltip="candidate_popup03">사용안내</button> -->
+	        	<button type="button" class="button2 info" data-tooltip="candidate_popup03">사용안내</button>
 	        	<c:choose>
 	        		<c:when test="${empty LoginVO}">
 						<button type="button" class="btnType" onclick="javascript:fn_candidateLoginChk(); return false;"><i class="election_btn1"></i>후보자 등록</button>	        		
src/main/webapp/WEB-INF/jsp/web/msgdata/MainPhotoListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MainPhotoListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MainPhotoListAjax.jsp
@@ -66,11 +66,15 @@
 								<div class="btn_more"><img src="/publish/images/main/btn_more01.png" alt="" /></div>
 								<div class="area_img">
 									<%-- <img src="${strImgPath}" alt="" onerror="this.src='/publish/images/main/template02.jpg';"> --%>
-									<img class="lazy" data-src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>" alt="<c:out value='${photoList.letterAlt}'/>" onerror="this.src='/publish/images/main/template02.jpg';">
+									<c:set var="imgAlt" value="${photoList.letterAlt}"/>
+									<c:if test="${empty imgAlt}">
+										<c:set var="imgAlt" value="그림문자 샘플 이미지"/>
+									</c:if>
+									<img class="lazy" data-src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>" alt="<c:out value='${imgAlt}'/>" onerror="this.src='/publish/images/main/template02.jpg';">
 								</div>
 								<div class="area_img_text">
 									<c:out value="${photoList.letterSj}"/>
-									<p class="sub_text"><c:out value="${msgKeywordSample}"/></p>
+									<!--<p class="sub_text"><c:out value="${msgKeywordSample}"/></p>-->
 								</div>
 							</div>
 						</div>
src/main/webapp/WEB-INF/jsp/web/msgdata/PhotoListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/PhotoListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/PhotoListAjax.jsp
@@ -21,8 +21,12 @@
 							--%>							
 						</div>
 						<div class="photo_cont">
+							<c:set var="imgAlt" value="${photoList.letterAlt}"/>
+							<c:if test="${empty imgAlt}">
+								<c:set var="imgAlt" value="그림문자 샘플 이미지"/>
+							</c:if>
 							<%-- <img class="photoOnImg" src="<c:url value='${strImgPath}'/>" alt=""> --%>
-							<img class="photoOnImg" id="${photoList.letterId}" src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>" alt="<c:out value='${photoList.letterAlt}'/>">
+							<img class="photoOnImg" id="${photoList.letterId}" src="<c:url value='/cmm/fms/getImage2.do'/>?atchFileId=<c:out value="${photoList.attachFileId}"/>&fileSn=<c:out value="${photoList.fileSn}"/>" alt="<c:out value='${imgAlt}'/>">
 							<input type="hidden" id="photoOnImg_${status.index + 1}" name="photoOnImg_${status.index + 1}" value="${photoList.attachFileId}"/>
 						</div>
 					</li>	
src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/BillPub.jsp
@@ -23,6 +23,7 @@
 
 	<script type="text/javaScript" language="javascript">
 	$( document ).ready(function() {
+		
 		//현금영수증 사업자번호 넣어주기
 		if("${mberManageVO.cashbillBizNo}" != ""){
 			//사업자번호 - 넣어주기
@@ -452,6 +453,10 @@
 	
 	$(window).on('load',function(){
 		$('.bill_content_wrap .bill_content').eq(0).show();
+		
+		var billDept = $("input[name=billDepth]:checked");
+		billDepth(billDept);
+		
 	});
 	
 	function billDepth(obj){
@@ -490,7 +495,7 @@
                     <li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
 	                <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
 	                <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
-	                <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserList.do'">요금 사용내역</button></li>
+	                <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
 	                <!-- <li class="tab active"><button type="button">계산서/현금영수증 발행 등록</button></li> -->
 	                <li class="tab active"><button type="button">세금계산서 발행 등록</button></li>
                 </ul><!--// tab button -->
@@ -505,8 +510,8 @@
                     <div class="pay_cont current" id="tab1_1">
                         <div class="bill_tab">
                         	<ul>
-                        		<li><input type="radio" name="billDepth" id="billDepth1" checked="checked" onchange="billDepth(this);" value="biz" /><label for="billDepth1">기업</label></li>
-                        		<li><input type="radio" name="billDepth" id="billDepth2" onchange="billDepth(this);" value="regi" /><label for="billDepth2">개인</label></li>
+                        		<li><input type="radio" name="billDepth" id="billDepth1" <c:if test="${mberManageVO.taxbillAuto eq 'B'}">checked="checked"</c:if> onchange="billDepth(this);" value="biz" /><label for="billDepth1">기업</label></li>
+                        		<li><input type="radio" name="billDepth" id="billDepth2" <c:if test="${mberManageVO.taxbillAuto eq 'C'}">checked="checked"</c:if> onchange="billDepth(this);" value="regi" /><label for="billDepth2">개인</label></li>
                         	</ul>
                         	<p>* 자동 발행은 기업/개인 중에 한 곳만 가능합니다.</p>
                         </div>
src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintStatementPopUp.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintStatementPopUp.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintStatementPopUp.jsp
@@ -127,7 +127,14 @@
                 </div>
                 <div class="cont2 clearfix">
                     <p>총 사용금액</p>
-                    <p><span>${totalSumPrice}</span> 원(VAT 별도)</p>
+                    <c:choose>
+	                	<c:when test="${searchVO.addVatType eq 'N'}">
+	                		<p><span>${totalSumPrice}</span> 원(VAT 별도)</p>
+	                	</c:when>
+	                	<c:otherwise>
+	                		<p><span>${addTaxSumPrice}</span> 원(VAT 포함)</p>
+	                	</c:otherwise>
+	                </c:choose>
                 </div>
                 <div class="cont3">
                     <p>(단위 : 원,  건)</p>
@@ -194,7 +201,7 @@
 								<c:otherwise>
 									<tr>
 										<td colspan="5">
-											<spring:message code="common.nodata.msg" />
+											거래내역이 없습니다.
 										</td>
 									</tr>
 								</c:otherwise>
@@ -207,18 +214,32 @@
                     <table class="est_table">
                         <caption>공급가액, 총 결제금액에 대한 표</caption>
                         <colgroup>
-                            <col style="width: 64px;">
+                            <col style="width: 100px;">
                             <col style="width: auto;">
                         </colgroup>
                         <tbody>
                             <tr>
                                 <th>공급가액</th>
-                                <td><span>${supplySumPrice}</span> 원</td>
+                                <td><span>${supplySumPrice}</span></td>
                             </tr>
-                            <tr>
-                                <th>총 결제금액</th>
-                                <td><span>${totalSumPrice}</span> 원</td>
-                            </tr>
+                            <c:choose>
+                               	<c:when test="${searchVO.addVatType eq 'N'}">
+                               		<tr class="total_price">
+	                                	<th>총 사용금액</th>
+	                                	<td><span>${totalSumPrice}</span></td>
+	                                </tr>
+                               	</c:when>
+                               	<c:otherwise>
+                               		<tr>
+	                                	<th>세액(부가세)</th>
+	                                	<td>${addTax}</td>
+	                                </tr>
+	                                <tr class="total_price">
+	                                	<th>총 사용금액</th>
+	                                	<td><span>${addTaxSumPrice}</span></td>
+	                                </tr>
+                               	</c:otherwise>
+                            </c:choose>
                         </tbody>
                     </table>
                 </div>
src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/MsgPrintUsageDetailsPopUp.jsp
@@ -85,7 +85,14 @@
                 </div>
                 <div class="cont2 clearfix">
                     <p>총 사용금액</p>
-                    <p><span>${totalSumPrice}</span> 원(VAT 별도)</p>
+                    <c:choose>
+	                	<c:when test="${searchVO.addVatType eq 'N'}">
+	                		<p><span>${totalSumPrice}</span> 원(VAT 별도)</p>
+	                	</c:when>
+	                	<c:otherwise>
+	                		<p><span>${addTaxSumPrice}</span> 원(VAT 포함)</p>
+	                	</c:otherwise>
+	                </c:choose>
                 </div>
                 <div class="cont3">
                     <p>(단위 : 원,  건)</p>
@@ -150,29 +157,61 @@
 									</c:forEach>
 								</c:when>
 								<c:otherwise>
-
+									<tr>
+										<td colspan="4">
+											사용내역이 없습니다.
+										</td>
+									</tr>
 								</c:otherwise>
-							</c:choose>                                                        
+							</c:choose>     
+							</tbody>
+						</table>
+					</div>
+				</div>
+							
+				<div class="cont4">
+					<table class="est_table">
+						<caption>공급가액, 총 결제금액에 대한 표</caption>
+                       	<colgroup>
+                           <col style="width: 100px;">
+                           <col style="width: auto;">
+                       	</colgroup>
+                       	<tbody>
+                           	<tr>
+                               <th>공급가액</th>
+                               <td><span>${supplySumPrice}</span></td>
+                           	</tr>
 							<c:choose>
 								<c:when test="${not empty resultList}">
-	                                <tr class="total_price">
-	                                    <td>계</td>
-	                                    <td>${sendSumCount}</td>
-	                                    <td>${supplySumPrice}</td>
-	                                    <td>${totalSumPrice}</td>
-	                                </tr>
+	                                <c:choose>
+	                                	<c:when test="${searchVO.addVatType eq 'N'}">
+	                                		<tr class="total_price">
+			                                	<th>총 사용금액</th>
+			                                	<td><span>${totalSumPrice}</span></td>
+			                                </tr>
+	                                	</c:when>
+	                                	<c:otherwise>
+	                                		<tr>
+			                                	<th>세액(부가세)</th>
+			                                	<td>${addTax}</td>
+			                                </tr>
+			                                <tr class="total_price">
+			                                	<th>총 사용금액</th>
+			                                	<td><span>${addTaxSumPrice}</span></td>
+			                                </tr>
+	                                	</c:otherwise>
+	                                </c:choose>
 								</c:when>
 								<c:otherwise>
 									<tr>
 										<td colspan="5">
-											<spring:message code="common.nodata.msg" />
+											사용내역이 없습니다.
 										</td>
 									</tr>
 								</c:otherwise>
 							</c:choose>
-                            </tbody>
-                        </table>
-                    </div>
+                        </tbody>
+                    </table>
                 </div>
                 <div class="cont5">
                     <p><span>${year} 년&nbsp;&nbsp;<span>${month}</span> 월&nbsp;&nbsp;<span>${day}</span> 일</p>
src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
@@ -405,7 +405,7 @@
 				<li class="tab active"><button type="button">요금안내/견적내기</button></li>
 				<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
 				<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
-				<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserList.do'">요금 사용내역</button></li>
+				<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
 				<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
 			</ul>
 			<!--// tab button -->
src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayList.jsp
@@ -19,7 +19,7 @@
 	//이전달 첫날/마지막날 조회
 	if(date.getMonth()+1 == 1){
 		lastfulstday = date.getFullYear()-1 +  "/12" + "/01";
-		lastfuledday = date.getFullYear()-1 +  "/12" + "/"+new Date(date.getFullYear()-1, 12, 0);
+		lastfuledday = date.getFullYear()-1 +  "/12" + "/"+new Date(date.getFullYear()-1, 12, 0).getDate()+"";
 	}else{
 		lastfulstday = date.getFullYear() + "/" ; 
 		lastfulstday += date.getMonth() < 10  ? "0"+ (date.getMonth()) : date.getMonth()+"" ;
@@ -171,7 +171,7 @@
 			<li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
 			<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
 			<li class="tab active"><button type="button" >요금 결제내역</button></li>
-			<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserList.do'">요금 사용내역</button></li>
+			<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
 			<!-- 현금영수증 자동발행 주석 -->
 			<!-- <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">계산서/현금영수증 발행 등록</button></li> -->
 			<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
@@ -199,7 +199,7 @@
 					</c:when>
 					<c:otherwise>
 						<ul class="tabType1">
-							<li class="tab active"><button type="button" onclick="TabType5(this,'1');listLoad('/web/member/pay/PayListAllAjax.do'); return false;" >전체</button></li>
+							<li class="tab active"><button type="button" onclick="TabType5(this,'1');listLoad('/web/member/pay/PayListAllAjax.do'); return false;" >후불 결제내역</button></li>
 							<li class="tab"><button type="button" onclick="TabType5(this,'6');listLoad('/web/member/pay/PayListPointAjax.do'); return false;">포인트 교환내역</button></li>					
 						</ul>
 					</c:otherwise>
src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
@@ -153,16 +153,18 @@
 	var cashRegNo = "";
 	var frm = document.taxForm;
 	var bizOrRegi = $("input:radio[name=bizOrRegi]:checked").val();
+	var taxbillAuto = '${mberManageVO.taxbillAuto}'; 			//자동발행 여부 체크
 	
 	//담당자명이 없으면 세금계산서 발행등록 메뉴로 보냄
 	if(taxMngNm == '') {
 		alert("세금계산서 발행 정보를 입력하는 화면으로 이동합니다.");
-		
 		location.href = "/web/member/pay/BillPub.do";
 	}
 	
 	//최초 레이어 오픈 시 작동
-	//if(bizOrRegi === undefined) {
+	//자동발행 저장하지 않았을 경우만 처리하도록 함 20231228 우영두 수정
+	//자동발행 저장하였을 경우 자동발행 저장된 기업/개인 라디오버튼이 선택 되도록 함.
+	if(taxbillAuto == 'N') {
 		if(taxBizNo != "") {
 			bizOrRegi = "biz";
 			$("input[type=radio][value='biz']").prop("checked",true);
@@ -170,7 +172,7 @@
 			bizOrRegi = "regi";
 			$("input[type=radio][value='regi']").prop("checked",true);
 		}
-	//}
+	}
 	
 	if(bizOrRegi == "biz"){
 		//사업자번호 공란인 경우
@@ -205,6 +207,16 @@
 	frm.rcptType.value = "9";
 	frm.phone.value = "${mberManageVO.taxMngPhoneNum}";
 	frm.email.value = "${mberManageVO.taxMngEmail}";
+	
+	if(bizOrRegi == "biz") {
+		$(".biz").show();
+		$(".regi").hide();
+	}
+	if(bizOrRegi == "regi") {
+		$(".biz").hide();
+		$(".regi").show();
+	}
+	
 }
 
 //현금영수증 value 넣기
@@ -390,10 +402,19 @@
 		</table>
 		<div class="excel_middle">
 			<div class="select_btnWrap clearfix">
-				<div class="add_text2" style="line-height: 1.2em;">
+				<div class="add_text2" style="line-height: 1.3em;">
 					※ 요금 결제내역은 결제일을 기준으로 최대 6개월까지만 조회가능합니다.
 					<br />
-					※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다.
+					<c:choose>
+						<c:when test="${prePaymentYn eq 'Y'}">
+							※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다.	
+						</c:when>
+						<c:otherwise>
+							※ 후불제 고객의 사용금액 결제수단은 계좌이체만 가능합니다. <br /> 
+							※ 세금계산서 발행 후 매월 15일(공휴일인 경우 다음 영업일) 이전까지 아래 계좌로 입금 부탁드립니다.<br />
+							<p class="accountinfo"><span>-입금은행:</span>우리은행<span>-입금계좌:</span>1005-904-154328<span>-받는사람:</span>주식회사 아이티앤</p>
+						</c:otherwise>
+					</c:choose>
 				</div>
 				<div style="padding-top: 10px;">
                     <button type="button" class="level_btn" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;">
@@ -558,6 +579,58 @@
 										</c:if>
 									</c:when>
 									<c:otherwise>
+										<c:if test="${result.pgStatus eq '0'}">
+											<!-- 후불제 회원 입금대기 상태인 경우 처리 -->
+											
+											<!-- 세금계산서 발행 전 (자동발행 안되어 있는 경우) 세금계산서 버튼 노출 -->
+											<c:if test="${result.confirmYn eq null || result.confirmYn eq ''}">
+												<button type="button" class="btnType btnType20" data-tooltip="cashReceipt_popup02" onclick="javascript:taxValue('${result.moid}');">세금계산서</button>
+											</c:if>
+											
+											<!-- 발행대기 -->
+											<c:if test="${result.confirmYn eq 'N'}">
+												<c:if test="${result.rcptType eq '9'}">
+													<p class="fwRg c_002c9a">세금계산서 발행대기</p>
+												</c:if>
+												<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
+													<p class="fwRg c_002c9a">현금영수증 발행대기</p>
+												</c:if>
+												<c:if test="${result.rcptType eq '5'}">
+													<p class="fwRg c_002c9a">관리자 현금영수증 발행대기</p>
+												</c:if>
+
+												<!-- 의무발생일경우  -->												
+												<c:if test="${result.rcptType eq '3'}">
+													<c:if test="${result.payMethod eq 'BANK' or result.payMethod eq 'VBANK'}">
+														<c:if test="${result.btnChk eq 'Y'}">
+															<button type="button" class="btnType btnType20" data-tooltip="cashReceipt_popup02" onclick="javascript:taxValue('${result.moid}');">세금계산서</button>
+															<button type="button" class="btnType btnType20" data-tooltip="cashReceipt_popup01" onclick="javascript:cashValue('${result.moid}');">현금영수증</button>
+														</c:if>
+
+														<%-- <button type="button" class="btnType btnType20" onclick="fnSimpRecip('<c:out value="${result.tid}"/>','<c:out value="${result.moid}"/>'); return false;">간이영수증</button> --%>
+													</c:if>
+													
+													<!-- 휴대폰결제 -->
+													<c:if test="${result.payMethod eq 'CELLPHONE'}">
+														<!-- 22.12.09 휴대폰결제는 현금영수증 제외 -->
+														<%-- <button type="button" class="btnType btnType20" onclick="fnSimpRecip('<c:out value="${result.tid}"/>','<c:out value="${result.moid}"/>'); return false;">간이영수증</button> --%>
+														휴대폰결제(증빙서류 발급불가)
+													</c:if>
+												</c:if>
+											</c:if>
+											<!-- 발행완료 -->
+											<c:if test="${result.confirmYn eq 'Y'}">
+												<c:if test="${result.rcptType eq '9'}">
+													<p class="fwRg c_002c9a">세금계산서 발행완료</p>
+												</c:if>
+												<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
+													<p class="fwRg c_002c9a">현금영수증 발행완료</p>
+												</c:if>
+												<c:if test="${result.rcptType eq '5'}">
+													<p class="fwRg c_002c9a">관리자 현금영수증 발행완료</p>
+												</c:if>
+											</c:if>
+										</c:if>
 										<c:if test="${result.pgStatus eq '1'}">
 											<!-- 발행전 -->
 											<c:if test="${result.confirmYn eq null || result.confirmYn eq ''}">
@@ -816,8 +889,8 @@
                             	<!-- 선거 후보자정보와 업체정보 둘 다 등록되어있는 경우 : radio 선택하여 영역 보여주기 -->
                             	<th scope="row">발행대상</th>
                             	<td>
-                            		<input type="radio" name="bizOrRegi" value="biz" id="biz" onchange="fncBizOrRegi(this.value); return false;" checked="checked" /><label for="biz">기업</label>
-                            		<input type="radio" name="bizOrRegi" value="regi" id="regi" onchange="fncBizOrRegi(this.value); return false;" /><label for="regi">개인</label>
+                            		<input type="radio" name="bizOrRegi" value="biz" id="biz" onchange="fncBizOrRegi(this.value); return false;" <c:if test="${mberManageVO.taxbillAuto eq 'B'}" >checked="checked" </c:if><label for="biz">기업</label>
+                            		<input type="radio" name="bizOrRegi" value="regi" id="regi" onchange="fncBizOrRegi(this.value); return false;" <c:if test="${mberManageVO.taxbillAuto eq 'C'}" >checked="checked" </c:if> /><label for="regi">개인</label>
                             	</td>
                            	</tr>
                            	<!-- 업체정보 -->
src/main/webapp/WEB-INF/jsp/web/pay/PayListRefundAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayListRefundAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayListRefundAjax.jsp
@@ -461,7 +461,7 @@
 			<p>- 취소 처리기간 경과시에 증빙서류를 첨부해야 환불가능합니다.</p>
 			<p>- 모든 결제는 부분취소가 불가하여, 사용금액(차액) 결제 후 전액취소를 원칙으로 합니다.</p>
 			<p>&nbsp;(예) 휴대폰 3만원 결제 후 3천원 사용한 경우, 3,300원(부가세포함)송금 또는 3천원 휴대폰 결제 후 3만원 전액취소</p>
-			<p><span>- 환불업무는 매주 수요일에 순차적으로 처리됩니다.</span></p>
+			<p><span>- 환불업무는 매주 수요일(금~화 신청분), 금요일 (수,목 신청분)에 순차적으로 처리됩니다.</span></p>
 		</div>
 		<ul class="clause_list">
 			<li class="list_open on">
src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
@@ -203,87 +203,192 @@
 				<h2>요금 사용내역</h2>
 				<button type="button" class="button info" onclick="infoPop('PayUserList');">사용안내</button>
 			</div>
-			<div class="hisroy_price">
-				<div class="hisroy_price_in">
-					<p>
-						<i></i>충전금액
-					</p>
-					
-					<div class="clearfix">
-						<p>캐시</p>
-						<p>
-							<span>
-								<c:choose>
-									<c:when test="${not empty sumPayMoney}">
-										<fmt:formatNumber value="${sumPayMoney}" pattern="#,###.#"/>
-									</c:when>
-									<c:otherwise>
-										<fmt:formatNumber value="0" pattern="#,###.#"/>
-									</c:otherwise>
-								</c:choose>
-							</span>원
-						</p>
-					</div>
-					<div class="clearfix">
-						<p>포인트</p>
-						<p>
-							<span>
-								<c:choose>
-									<c:when test="${not empty sumPoint}">
-										<fmt:formatNumber value="${sumPoint}" pattern="#,###.#"/>
-									</c:when>
-									<c:otherwise>
-										<fmt:formatNumber value="0" pattern="#,###.#"/>
-									</c:otherwise>
-								</c:choose>
-							</span>원
-						</p>
-					</div>
-				</div>
-				<div class="hisroy_price_in">
-					<p>
-						<i></i>사용금액
-					</p>
-					<c:forEach var="result" items="${usedCashTotList}" varStatus="status">
-						<div class="clearfix">
+			<c:choose>
+				<c:when test="${mberManageVO.prePaymentYn eq 'Y'}">
+					<div class="hisroy_price">
+						<div class="hisroy_price_in">
 							<p>
-								<c:if test="${result.divFlag eq 'CASH' }">
-									캐시
-								</c:if>
-								<c:if test="${result.divFlag eq 'POINT' }">
-									포인트
-								</c:if>
+								<i></i>충전금액
 							</p>
-							<p>
-								<span>
-									<fmt:formatNumber value="${result.totalPrice}" pattern="#,###.#"/>
-								</span>원
-							</p>
+							
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<c:choose>
+											<c:when test="${not empty sumPayMoney}">
+												<fmt:formatNumber value="${sumPayMoney}" pattern="#,###.#"/>
+											</c:when>
+											<c:otherwise>
+												<fmt:formatNumber value="0" pattern="#,###.#"/>
+											</c:otherwise>
+										</c:choose>
+									</span>원
+								</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<c:choose>
+											<c:when test="${not empty sumPoint}">
+												<fmt:formatNumber value="${sumPoint}" pattern="#,###.#"/>
+											</c:when>
+											<c:otherwise>
+												<fmt:formatNumber value="0" pattern="#,###.#"/>
+											</c:otherwise>
+										</c:choose>
+									</span>원
+								</p>
+							</div>
 						</div>
-					</c:forEach>
-				</div>
-				<div class="hisroy_price_in">
-					<p>
-						<i></i>잔액
-					</p>
-					<div class="clearfix">
-						<p>캐시</p>
-						<p>
-							<span>
-								<fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" />
-							</span>원
-						</p>
+						<div class="hisroy_price_in">
+							<p>
+								<i></i>사용금액
+							</p>
+							<c:forEach var="result" items="${usedCashTotList}" varStatus="status">
+								<div class="clearfix">
+									<p>
+										<c:if test="${result.divFlag eq 'CASH' }">
+											캐시
+										</c:if>
+										<c:if test="${result.divFlag eq 'POINT' }">
+											포인트
+										</c:if>
+									</p>
+									<p>
+										<span>
+											<fmt:formatNumber value="${result.totalPrice}" pattern="#,###.#"/>
+										</span>원
+									</p>
+								</div>
+							</c:forEach>
+						</div>
+						<div class="hisroy_price_in">
+							<p>
+								<i></i>잔액
+							</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" />
+									</span>원
+								</p>
+							</div>
+						</div>
 					</div>
-					<div class="clearfix">
-						<p>포인트</p>
-						<p>
-							<span>
-								<fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" />
-							</span>원
-						</p>
+				</c:when>
+				<c:otherwise>
+					<p class="tRight c_666" style="margin: 0 0 10px 0">(VAT 별도)</p>
+					<div class="hisroy_price">
+					
+						<%-- 누적 사용금액 => 현재까지 실제 문자발송에 사용된 캐시의 합산 --%>
+						<div class="hisroy_defprice_in">
+							<p><i></i>누적 사용금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${totSumCashAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							
+							<%-- 현재까지 적립된 포인트의 합산 --%>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${totSumPointAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+						</div>
+						
+						<%-- 누적 납부금액 => 현재까지 실제 납입하여 결제 완료 처리된 금액 (미납금액 제외) --%>
+						<div class="hisroy_defprice_in">
+							<p><i></i>누적 납부금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${totSumPaymentAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							
+							<%-- 누적 납부금액에 대한 2%의 포인트 --%>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${sumPaymentPointAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+						</div>
+						
+						<%-- 당월 납부 예상 금액 => (누적 사용금액 - 누적 납부금액) --%>
+						<div class="hisroy_defprice_in">
+							<p><i></i>당월 납부 예상금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${unPaymentAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							
+							<%-- 당월  납부 예상금액에 대한 2%의 포인트 --%>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${unPaymentPointAfterPay}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							<dl>
+								<dt>* 당월 납부 예상 포인트</dt>
+								<dd>- 납부 예상금액 결제 시 적립되는 포인트</dd>
+							</dl>
+						</div>
+						
+						<%-- 현재 회원의 보유잔액(캐시) --%>
+                        <div class="hisroy_defprice_in">
+							<p><i></i>잔액 (사용가능금액)</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" />
+									</span>원
+								</p>
+							</div>
+							
+							<%-- 현재 회원의 보유 포인트 --%>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p>
+									<span>
+										<fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" />
+									</span>원
+								</p>
+							</div>
+						</div>
 					</div>
-				</div>
-			</div>
+				</c:otherwise>
+			</c:choose>
 			<div class="history_details">
 				<p class="tType1_title"><img src="/publish/images/content/history_details_title.png" alt=""> 발송내역</p>
 				<div class="details_wrap">
src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
@@ -111,7 +111,7 @@
 			return;
 		}
 	}
-  
+	
 	document.listForm.action = url;
 	document.listForm.method = "post"; 
 	window.open("about:blank", 'printPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top + ', fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
@@ -160,7 +160,7 @@
 
 	$("#listForm").attr("target","msgSentPrint");
 	window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
-	$("#listForm").attr({"action":"/web/member/pay/PrintPayUserListAjax.do", "method":"post"}).submit();
+	$("#listForm").attr({"action":"/web/member/pay/PrintPayUserSWListAjax.do", "method":"post"}).submit();
 }
 
 //환불요청 내역 프린트 출력 팝업
@@ -201,7 +201,7 @@
 	<input type="hidden" id="searchSortCnd" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
 	<input type="hidden" id="searchSortOrd" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
 	<div class="list_info">
-		<p>총 <span>${paginationInfo.totalRecordCount}</span>건</p>
+		<p>총 <span>${paginationInfo.totalRecordCount}</span>건 &nbsp; (<fmt:formatNumber value="${totSuccSendPrice}" pattern="" /> 원)</p>
 		<div>
 			<button type="button" class="print_btn" onclick="javascript:fnPayUserPrintPopup();">
 				<i class="print_img"></i>인쇄하기
@@ -257,7 +257,7 @@
 					<!-- <th colspan="2">잔액</th> -->
 				</tr>
 				<tr>
-					<th>캐시</th>
+					<th>충전금</th>
 					<th>포인트</th>
 					<!-- <th>캐시</th> -->
 					<!-- <th>포인트</th> -->
@@ -332,13 +332,13 @@
 									</p>
 								</td>
 								<td>
-									<p>
+									<p class="fwRg c_002c9a">
 										<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.succSendPrice}" var="succCash" />
 										<c:out value="${succCash}"/>
 									</p>
 								</td>
 								<td>
-									<p>
+									<p class="fwRg c_002c9a">
 										<%-- <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" />
 										<c:out value="${befPoint}"/> --%>
 										0																											
@@ -395,7 +395,7 @@
 					</c:when>
 					<c:otherwise>
 						<tr>
-							<td colspan="8">
+							<td colspan="6">
 								검색 결과가 없습니다.
 							</td>
 						</tr>
@@ -410,6 +410,11 @@
 			<label for="publish1">거래명세서</label>
 			<input type="radio" name="publish" id="publish2" value="details">
 			<label for="publish2">사용내역서</label>
+			<label for="" class="label">부가세 포함,별도 선택</label>
+			<select id="addVatType" name="addVatType" class="selType2">
+				<option value="N" selected>부가세 별도</option>
+				<option value="Y">부가세 포함</option>
+			</select>
 		</div>
 		<div>
 			<c:choose>		
src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
--- src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
@@ -604,12 +604,13 @@
 	
 	var form = document.pgForm;
 	
-	if(sendCnt >= 3){
+	
+	/* if(sendCnt >= 3){
 		
 		alert("일일 문자발송은 3회까지만 가능합니다.");
 		return false;
 		
-	}
+	} */
 	
 	if(form.callTo.value == '' || form.callTo.length == 0){
 		
@@ -799,7 +800,7 @@
                     <li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
                     <li class="tab active"><button type="button">결제하기</button></li>
                     <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
-                    <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserList.do'">요금 사용내역</button></li>
+                    <li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
 					<!-- 현금영수증 자동발행 주석 -->
 					<!-- <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">계산서/현금영수증 발행 등록</button></li> -->
 					<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
@@ -992,7 +993,7 @@
 												<p>- 이체 후 충전 확인까지 <span>최대 10분이 소요</span>됩니다.</p>
 												<p>- 이체금액에서 <span>부가세 10%가 제외되고 충전</span>됩니다.</p>												
 												<!-- <p>- 예금주 : 문자온</p> -->
-												<p>- 계좌번호 문자로 받기(일/3회까지) 
+												<p>- 계좌번호 문자로 받기(유료) 
                                                     <label for="" class="label">전화번호 입력</label>
                                                     <input type="text" id="callTo" name="callTo" maxLength="11" placeholder="‘-’ 없이 받으실 휴대폰 번호를 입력해주세요." onfocus="this.placeholder=''" onblur="this.placeholder='‘-’ 없이 전화번호를 입력해주세요'"> 
                                                     <button type="button" onclick="fnSmsSend(<c:out value='${resultMsgInfo.sendCnt}'/>); return false;">문자받기</button>
 
src/main/webapp/WEB-INF/jsp/web/pay/PrintPayUserSWListPopUp.jsp (added)
+++ src/main/webapp/WEB-INF/jsp/web/pay/PrintPayUserSWListPopUp.jsp
@@ -0,0 +1,227 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ page import="itn.com.cmm.LoginVO" %>
+<!DOCTYPE html>
+<html lang="ko">
+	<head>
+		<meta charset="UTF-8">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<title>요금 사용내역</title>
+		<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet">
+		<link rel="stylesheet" href="/publish/css/reset.css">
+		<link rel="stylesheet" href="/publish/css/common.css">
+		<link rel="stylesheet" href="/publish/css/estimate.css">
+		<link rel="stylesheet" href="/publish/css/font.css">
+		<link rel="stylesheet" href="/publish/css/button.css">
+	</head>
+	<script type="text/javascript">
+		function f_print(){
+			
+			document.getElementById('est_btn_wrap').style.display = 'none';
+			var initBody = document.body.innerHTML;
+			window.onbeforeprint = function(){
+			// print_area는 인쇄하고자 하는 영역의 ID를 말합니다.( 필수 )
+// 			document.body.innerHTML = document.getElementById("print_area").innerHTML;
+			}
+			window.onafterprint = function(){
+				document.body.innerHTML = initBody;
+			}
+			window.print();
+			document.getElementById('est_btn_wrap').style.display = '';
+		}
+	</script>
+	<body>
+		<!-- 견적서 -->
+		<div class="estimate_wrap">
+			<div class="estimate">
+				<div class="est_head clearfix">
+					<img src="/publish/images/CI.png" alt="문자온 CI">
+					<div class="clearfix">
+						<p>(12248) 경기도 남양주시 다산순환로 20, A동 735호(다산동, 현대프리미어캠퍼스)</p>
+						<p>TEL  010-8432-9333</p>
+					</div>
+				</div>
+				<div class="est_body">
+					<h2>요금 사용내역</h2>
+					<div class="cont1 tb_ver2">
+						<div>
+							<table class="est_table">
+								<caption>발신자 정보</caption>
+								<colgroup>
+									<col style="width: 50px;">
+									<col style="width: auto;">
+								</colgroup>
+								<tbody>
+									<tr>
+										<th></th>
+										<td colspan="2" class="colspan">
+											<span><c:out value="${userNm}"/></span> &nbsp;님의 사용내역을 아래와 같이 확인합니다.
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+					</div>
+					<div class="cont3">
+						<div class="est_table2_wrap">
+							<table class="est_table2">
+								<caption>사용날짜, 문자유형, 문자내용, 충전 충전금, 충전 포인트, 사용 충전금, 사용 포인트, 잔액 충전금, 잔액 포인트를 제공하는 표</caption>
+								<colgroup>
+									<col style="width: 15%;">
+									<col style="width: 10%;">
+									<col style="width: 15%;">
+									<col style="width: 15%;">
+									<col style="width: 10%;">
+									<%-- <col style="width: 10%;">
+									<col style="width: 15%;">
+									<col style="width: 10%;"> --%>
+								</colgroup>
+								<thead>
+									<tr>
+										<th rowspan="2" style=" vertical-align : middle;">
+											날짜
+										</th>
+										<th rowspan="2" style=" vertical-align : middle;">
+											문자유형
+										</th>
+										<th rowspan="2" style=" vertical-align : middle;border-right:1px solid #ccc;">
+											발송건수
+										</th>
+										<!-- <th colspan="2">충전</th> -->
+										<th colspan="2">사용</th>
+										<!-- <th colspan="2">잔액</th> -->
+									</tr>
+									<tr>
+										<th>충전금</th>
+										<th>포인트</th>
+										<!-- <th>충전금</th>
+										<th>포인트</th>
+										<th>충전금</th>
+										<th>포인트</th> -->
+									</tr>
+								</thead>
+								<tbody>
+								<c:choose>
+									<c:when test="${not empty payUserList}">
+										<c:forEach var="payUserInfo" items="${payUserList}" varStatus="status">
+											<tr>
+												<td>
+													<c:out value="${payUserInfo.regDate}"/>
+												</td>
+												<td>
+													<p style="text-align:center;">
+													<c:choose>
+														<c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt eq 0 }">
+															장문
+														</c:when>
+														<c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt ne 0 }">
+															그림
+														</c:when>
+														<c:when test="${payUserInfo.msgTypeTxt eq '8'}">
+															알림톡
+														</c:when>
+														<c:when test="${payUserInfo.msgTypeTxt eq '9'}">
+															친구톡
+														</c:when>
+														<c:when test="${payUserInfo.msgTypeTxt eq 'fax'}">
+															펙스
+														</c:when>
+														<c:otherwise>
+															단문
+														</c:otherwise>
+													</c:choose>
+													</p>
+												</td>
+												<td>
+													<c:out value="${payUserInfo.succSendCnt}"/>
+													<c:if test="${payUserInfo.msgTypeTxt eq 'fax'}">
+													(<c:out value="${payUserInfo.fileCnt}"/>)
+													</c:if>
+												</td>
+												<td>
+													<p class="fwRg c_002c9a" style="text-align:center;">
+														<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.succSendPrice}" var="succCash" />
+														<c:out value="${succCash}"/>
+													</p>
+												</td>
+												<td>
+													<p class="fwRg c_002c9a" style="text-align:center;">
+														0
+													</p>
+												</td>
+												<%-- <td>
+													<p class="fwRg c_002c9a">
+														<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.totPrice}" var="totPrice" />
+														<c:out value="${totPrice}"/>
+													</p>
+												</td>
+												<td>
+													<p class="fwRg c_002c9a">
+														0
+													</p>
+												</td>
+												<td>
+													<p class="fwRg c_222">
+														<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.thisPoint}" var="thisPoint" />
+														<c:out value="${thisPoint}"/>
+													</p>
+												</td>
+												<td>
+													<p class="fwRg c_222">
+														<c:out value="${payUserInfo.befPoint}"/>
+													</p>
+												</td> --%>
+											</tr>
+										</c:forEach>
+									</c:when>
+									<c:otherwise>
+										<tr>
+											<td colspan="5">
+												사용내역이 없습니다.
+											</td>
+										</tr>
+									</c:otherwise>
+								</c:choose>
+								</tbody>
+							</table>
+						</div>
+					</div>
+					<div class="cont4">
+						<table class="est_table">
+							<caption>공급가액, 부가세, 총 결제금액에 대한 표</caption>
+							<colgroup>
+								<col style="width: 64px;">
+								<col style="width: auto;">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th>대표번호</th>
+									<td>010-8432-9333</td>
+								</tr>
+								<tr>
+									<th>이메일</th>
+									<td>help@iten.co.kr</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<div class="cont5">
+						<p><span><c:out value="${year}"/></span> 년&nbsp;&nbsp;<span><c:out value="${month}"/></span> 월&nbsp;&nbsp;<span><c:out value="${day}"/></span> 일</p>
+						<div>
+							<span>주식회사 아이티앤 대표이사</span>
+							<span>유&nbsp;인&nbsp;식</span>
+                        <span class="big_stamp"><img src="/publish/images/content/big_stamp.png"></span>
+						</div>
+					</div>
+				</div>
+				<div class="est_btn_wrap" id="est_btn_wrap">
+					<button type="button" class="btnType" onclick="javascript:f_print(); return false;"><i class="print_img"></i>인쇄하기</button>
+				</div>
+			</div>
+		</div>
+		<!--// 견적서 -->
+	</body>
+</html>
src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
--- src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
@@ -255,12 +255,13 @@
 				<div class="my_dashboard_cont1">
 					<button type="button" class="level_icon" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;">
 					</button>
-					<div>
-						<p>
-							<span><c:out value="${mberManageVO.mberNm}"/></span> 회원님 반갑습니다
+					<div class="title_wrap">
+						<p class="user_text">
+							<span class="user_name"><c:out value="${mberManageVO.mberNm}"/></span>
+							회원님 반갑습니다
 						</p>
 						<c:if test="${loginVO.dept eq 'p'}">
-							<button type="button" class="btnType" onclick="location.href='/web/user/membershipChange.do'">기업회원전환</button>
+								<button type="button" class="btnType" onclick="location.href='/web/user/membershipChange.do'">기업회원전환</button>
 						</c:if>
 					</div>
 					<div class="send_price">
@@ -365,45 +366,125 @@
 				</div>
 				<div class="my_dashboard_cont3">
 					<p class="dashboard_title">이용내역</p>
-					<p class="reqTxt2">(단위 : 건, 원)</p>
-					<div class="table_wrap">
-						<table>
-							<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
-							<colgroup>
-								<col style="width: 115px;">
-								<col style="width: calc((100% - 115px)/3);">
-								<col style="width: calc((100% - 115px)/3);">
-								<col style="width: calc((100% - 115px)/3);">
-							</colgroup>
-							<thead>
-								<tr>
-									<th scope="col">구분</th>
-									<th scope="col">충전금액</th>
-									<th scope="col">사용금액</th>
-									<th scope="col">잔액</th>
-								</tr>
-							</thead>
-							<tbody>
-								<tr>
-									<td>캐시</td>
-									<c:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
-									<td>
-										<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
-									</td>
-									</c:forEach>
-								</tr>
-								<tr>
-									<td>포인트</td>
-									<c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
-									<td>
-										<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
-									</td>
-									</c:forEach>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-					<button type="button" onclick="location.href='/web/member/pay/PayUserList.do';">
+					
+					<c:choose>
+						<c:when test="${mberManageVO.prePaymentYn eq 'Y'}">
+							<p class="reqTxt2">(단위 : 건, 원)</p>
+							<div class="table_wrap">
+								<table>
+									<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
+									<colgroup>
+										<col style="width: 115px;">
+										<col style="width: calc((100% - 115px)/3);">
+										<col style="width: calc((100% - 115px)/3);">
+										<col style="width: calc((100% - 115px)/3);">
+									</colgroup>
+									<thead>
+										<tr>
+											<th scope="col">구분</th>
+											<th scope="col">충전금액</th>
+											<th scope="col">사용금액</th>
+											<th scope="col">잔액</th>
+										</tr>
+									</thead>
+									<tbody>
+										<tr>
+											<td>캐시</td>
+											<c:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
+											<td>
+												<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
+											</td>
+											</c:forEach>
+										</tr>
+										<tr>
+											<td>포인트</td>
+											<c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
+											<td>
+												<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
+											</td>
+											</c:forEach>
+										</tr>
+									</tbody>
+								</table>
+							</div>
+						</c:when>
+						<c:otherwise>
+							<p class="reqTxt2">(단위 : 건, 원) VAT 별도</p>
+							<div class="table_wrap">
+								<table>
+									<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>
+									<colgroup>
+										<col style="width: 115px;">
+										<col style="width: calc((100% - 115px)/4);">
+										<col style="width: calc((100% - 115px)/4);">
+										<col style="width: calc((100% - 115px)/4);">
+										<col style="width: calc((100% - 115px)/4);">
+									</colgroup>
+									<thead>
+										<tr>
+											<th scope="col">구분</th>
+											<th scope="col">누적 사용금액</th>
+											<th scope="col">누적 납부금액</th>
+											<th scope="col">당월 납부 예상금액</th>
+											<th scope="col">잔액 (사용가능금액)</th>
+										</tr>
+									</thead>
+									<tbody>
+										<tr>
+											<td>캐시</td>
+											<%-- <c:forEach var="cashInfo" items="${cashInfoList}" varStatus="status">
+											<td>
+												<fmt:formatNumber value="${cashInfo.cashSum}" pattern="" />
+											</td>
+											</c:forEach> --%>
+											<td>
+												<%-- 누적 사용금액 => 현재까지 실제 문자발송에 사용된 캐시의 합산 --%>
+												<fmt:formatNumber value="${totSumCashAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 누적 납부금액 => 현재까지 실제 납입하여 결제 완료 처리된 금액 (미납금액 제외) --%>
+												<fmt:formatNumber value="${totSumPaymentAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 당월 납부 예상 금액 => (누적 사용금액 - 누적 납부금액) --%>
+												<fmt:formatNumber value="${unPaymentAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 현재 회원의 보유잔액(캐시) --%>
+												<fmt:formatNumber value="${mberManageVO.userMoney}" pattern="" />
+											</td>
+										</tr>
+										<tr>
+											<td>포인트</td>
+											<%-- <c:forEach var="pointInfo" items="${pointInfoList}" varStatus="status">
+											<td>
+												<fmt:formatNumber value="${pointInfo.sumPay}" pattern="" />
+											</td>
+											</c:forEach> --%>
+											<td>
+												<%-- 현재까지 적립된 포인트의 합산 --%>
+												<fmt:formatNumber value="${totSumPointAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 누적 납부금액에 대한 2%의 포인트 --%>
+												<fmt:formatNumber value="${sumPaymentPointAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 당월  납부 예상금액에 대한 2%의 포인트 --%>
+												<fmt:formatNumber value="${unPaymentPointAfterPay}" pattern="" />
+											</td>
+											<td>
+												<%-- 현재 회원의 보유 포인트 --%>
+												<fmt:formatNumber value="${mberManageVO.userPoint}" pattern="" />
+											</td>
+										</tr>
+									</tbody>
+								</table>
+							</div>
+						</c:otherwise>
+					</c:choose>
+					
+					<button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do';">
 						<img src="/publish/images/content/mypage_plus.png" alt="더보기">
 					</button>
 					<div class="table_wrap">
src/main/webapp/js/user/fax/sendListInit.js
--- src/main/webapp/js/user/fax/sendListInit.js
+++ src/main/webapp/js/user/fax/sendListInit.js
@@ -16,7 +16,7 @@
 		//이전달 첫날/마지막날 조회
 		if(date.getMonth()+1 == 1){
 			lastfulstday = date.getFullYear()-1 +  "/12" + "/01";
-			lastfuledday = date.getFullYear()-1 +  "/12" + "/"+new Date(date.getFullYear()-1, 12, 0);
+			lastfuledday = date.getFullYear()-1 +  "/12" + "/"+new Date(date.getFullYear()-1, 12, 0).getDate()+"";
 		}else{
 			lastfulstday = date.getFullYear() + "/" ; 
 			lastfulstday += date.getMonth() < 10  ? "0"+ (date.getMonth()) : date.getMonth()+"" ;
src/main/webapp/publish/css/common.css
--- src/main/webapp/publish/css/common.css
+++ src/main/webapp/publish/css/common.css
@@ -116,7 +116,7 @@
 .login2 .login_info button {margin-right: 2px;}
 .login2 .login_pay {display:flex;}
 .login2 .check_money p span, .login2 .point p span {padding-left: 4px;}
-.login2 .check_money {margin-right: 20px;}
+.login2 .check_money {margin-right: 20px; display: inline-flex;}
 .login2 .check_money p {padding-right: 6px;display: inline-block;vertical-align: middle;}
 .login2 .check_money i {background-image: url(/publish/images/check_money2.png);width: 29px;height: 30px;margin-right: 3px;}
 .login2 .check_money button {margin-right: 2px;}
@@ -127,6 +127,13 @@
 .login2 .check_money .account_box dl dt:before {content:'';display:inline-block;width:22px;height:20px;margin:0 5px 0 0;vertical-align:top;background:url(/publish/images/content/icon_account_layer.png) no-repeat left top;}
 .login2 .check_money .account_box dl dd {margin:7px 0 0;font-size:15px;font-weight:500;white-space:nowrap;}
 .login2 .check_money .account_box:hover dl {display:block;}
+	/*후불 회원에게만 노출되는 안내레이어*/
+.login2 .check_money .holdingsum_box {position: relative;}
+.login2 .check_money .holdingsum_box dl {display:none;position:absolute;left:50%;top:41px;padding:12px;border:2px solid #002c9a;background:#fff;border-radius:10px;box-shadow:0px 3px 10px 0px rgba(0, 0, 0, 0.5);transform:translateX(-50%);}
+.login2 .check_money .holdingsum_box dl:after {content:'';position:absolute;left:50%;top:-10px;width:16px;height:10px;margin:0 0 0 -8px;background:url(../images/content/icon_account_arrow.png) no-repeat left top;}
+.login2 .check_money .holdingsum_box dl dd {margin:3px;font-size:15px;font-weight:500;white-space:nowrap; line-height:20px;}
+.login2 .check_money .holdingsum_box:hover dl {display:block;}
+	
 .login2 .point p {padding-right: 6px;display: inline-block; vertical-align: middle;}
 .login2 .point i {background-image: url(/publish/images/pointIcon2.png);width: 30px;height: 28px;margin-right: 3px;margin-top: -2px;}
 .login2 .login_right button i {background-image: url(/publish/images/login_introIcon.png);width: 20px;height: 18px;margin: 0 6px 3px 0;}
src/main/webapp/publish/css/content.css
--- src/main/webapp/publish/css/content.css
+++ src/main/webapp/publish/css/content.css
@@ -408,7 +408,7 @@
 .list_bottom .list_bottom_right {float: right; font-size: 16px; display: flex;}
 .list_bottom .list_bottom_right p {line-height: 36px;}
 .list_bottom .list_bottom_right span {font-size: 20px; font-weight: 600 !important;}
-.list_bottom .list_bottom_right .address_reg2 {height: 36px; padding: 0 10px; border-radius: 5px;font-weight: 300; background-color: #6a6c72; color: #fff; margin-left: 10px;}
+.list_bottom .list_bottom_right .address_reg2 {height: 36px; padding: 0 10px; border-radius: 5px;font-weight: 400; background-color: #6a6c72; color: #fff; margin-left: 10px;}
 
 .list_bottom .remove_btnWrap .address_reg2 {width: calc(100% - 246px); background-color: #6a6c72; color: #fff; border-radius: 5px; font-weight: 300;}
 .list_bottom .remove_btnWrap .check_validity {height: 32px; position: absolute; right: 0;}
@@ -477,11 +477,11 @@
 .send_top .top_content {background-color: #fff;padding: 30px 40px;border-radius: 10px;}
 .send_top .send_price {display: inline-block;position: relative;margin-left:50px;vertical-align: middle;line-height: 25px;height: 27.5px;}
 .send_top .send_price::after {content: "";position: absolute;background-color: #002c9a;width: 3px;height: 20px;border-radius: 2px; top: 50%;transform: translateY(-50%);left: -30px;}
-.send_top .send_price li {display: inline-block;color: #555;padding-right: 12px;margin-right: 6px;position: relative; font-size: 15px; letter-spacing: -0.5px;}
+.send_top .send_price li {display: inline-block;color: #555;padding-right: 7px;margin-right: 5px;position: relative; font-size: 15px; letter-spacing: -0.5px;}
 .send_top .heading .send_price li:first-child {margin-right:28px;}
 .send_top .send_price .price_line::after {content: "/";position: absolute;top: 50%;transform: translateY(-50%);right: 0;color: #ababab;font-size: 14px;}
 .send_top .send_price li .type {border: 1px solid #46484a;border-radius: 3px;margin-right: 8px; color: #46484a;padding: 0 4px;}
-.send_top .send_price li .price {color: #e40000;font-size: 18px;font-weight: 700;}
+.send_top .send_price li .price {color: #e40000;font-size: 16px;font-weight: 700;}
 .send_top .send_general {width: 100%;display: flex;display: -ms-flexbox; justify-content: space-between; position: relative;}
 /* left area 내용 입력 */
 .send_top .send_left {max-width: 870px;flex-basis: 68%;}
@@ -619,13 +619,15 @@
 .sub .election .receipt_number_table_wrap .put_right .receipt_info dd b{font-size:16px;font-weight:500;}
 .sub .election .receipt_number_table_wrap .put_right .receipt_info .btn_reset{font-size:14px;font-weight:500;color:#333;}
 .sub .election .receipt_number_table_wrap .put_right .receipt_info .btn_reset i{display:inline-block;width:15px;height:13px;margin:-1px 2px 0 0;background:url(/publish/images/icon_reset.png) no-repeat center center;}
-.sub .election .list_bottom{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0 0 10px 0;}
+.sub .election .list_bottom{display:flex;width:94.8%;align-items:center;justify-content:space-between;padding:0 0 10px 0;}
+.sub .election .receipt_number_table_wrap .list_bottom{width:100%;}
 .sub .election .list_bottom .pagination{display:inline-flex;width:auto;margin:0;justify-content:flex-start;}
-.sub .election .list_bottom .pagination button{height:32px;}
-.sub .election .list_bottom .list_bottom_right{float:none;display:inline-flex;justify-content:flex-end;}
-.sub .election .list_bottom .list_bottom_right button{height:32px;padding:0 13px;font-weight:400 !important;}
+.sub .election .list_bottom .pagination button{display:inline-flex;align-items:center;justify-content:center;height:32px;}
+.sub .election .list_bottom .list_bottom_right{float:none;display:inline-flex;justify-content:flex-end;align-items:center;}
+.sub .election .list_bottom .list_bottom_right p{margin:0 10px 0 0;}
+.sub .election .list_bottom .list_bottom_right button{width:95px;height:32px;font-size:14px;padding:0 2px;font-weight:400 !important;}
 .sub .election .list_bottom .list_bottom_right>button{margin:0 4px 0 0;}
-.sub .election .list_bottom .list_bottom_right .btn_yellow{display:inline-flex;align-items:center;padding:0 10px;}
+.sub .election .list_bottom .list_bottom_right .btn_yellow{display:inline-flex;align-items:center;justify-content:center;padding:0 2px;}
 .sub .election .list_bottom .list_bottom_right .btn_yellow i.qmMark{background:url(/publish/images/content/qmIcon_black.png) no-repeat center;margin:0 0 0 2px;}
 
 /* 2023/12/07 선거문자 - 20건문자(수동문자) 전송 추가 table에서 ul로 변경 */
@@ -994,7 +996,8 @@
 .pay_cont .excel_middle {margin: 20px 0 10px 0;}
 .pay_cont .excel_middle .selType2 {width: 82px; height: 32px; margin-left: 0;}
 .pay_cont .select_btnWrap .add_text2 {font-size: 16px; padding-top: 7px; color: #666; font-weight: 300;}
-
+.pay_cont .select_btnWrap .add_text2 .accountinfo {padding:2px 0 0 10px; color:#21376c; font-weight:400;}
+.pay_cont .select_btnWrap .add_text2 .accountinfo span {font-size:14px; color:#697593; padding:0 0 0 10px;}
 /*등급 및 누적결제액 확인 버튼 추가*/
 .pay_cont .excel_middle .level_btn{margin: 0 5px; border: 1px solid #002c9a; color: #002c9a;}
 .pay_cont .excel_middle .level_btn img{margin-top: -3px;}
@@ -1049,6 +1052,26 @@
 .hisroy_price .hisroy_price_in>div>p:first-child {float: left;}
 .hisroy_price .hisroy_price_in>div>p:last-child {float: right;}
 .hisroy_price .hisroy_price_in>div>p>span {font-size: 22px; font-family: 'GmarketSansBold'; color: #002c9a; padding-right: 5px;}
+	/*후불회원 요금 사용내역*/
+.hisroy_price .hisroy_defprice_in {position:relative; background-color: #f2f2f2; width: calc(100%/4 - 10px); padding: 28px 22px 40px 22px; border-radius: 5px; box-sizing: border-box;}
+.hisroy_price .hisroy_defprice_in>p {font-size: 20px; font-weight: 600;  margin-bottom: 25px;  font-family: 'GmarketSansBold';}
+.hisroy_price .hisroy_defprice_in i{background-size: 100%;}
+.hisroy_price .hisroy_defprice_in:nth-child(1) i {background-image: url(/publish/images/content/history_icon1.png); width: 23px; height: 26px; margin: 0 10px 2px 0;}
+.hisroy_price .hisroy_defprice_in:nth-child(2) i {background-image: url(/publish/images/content/history_icon2.png); width: 26px; height: 24px; margin: 0 10px 2px 0;}
+.hisroy_price .hisroy_defprice_in:nth-child(3) i {background-image: url(/publish/images/content/history_icon4.png); width: 22px; height: 24px; margin: 0 10px 2px 0;}
+.hisroy_price .hisroy_defprice_in:nth-child(4) i {background-image: url(/publish/images/content/history_icon3.png); width: 21px; height: 21px; margin: 0 10px 2px 0;}
+.hisroy_price .hisroy_defprice_in>div {background-color: #fff; height: 50px; padding: 0 20px; border-radius: 5px; line-height: 50px; box-sizing: border-box;}
+.hisroy_price .hisroy_defprice_in>div:last-child {margin-top: 10px;}
+.hisroy_price .hisroy_defprice_in>div>p {font-size: 15px; font-weight: 300;}
+.hisroy_price .hisroy_defprice_in>div>p:first-child {float: left;}
+.hisroy_price .hisroy_defprice_in>div>p:last-child {float: right;}
+.hisroy_price .hisroy_defprice_in>div>p>span {font-size: 20px; font-family: 'GmarketSansBold'; color: #002c9a; padding-right: 1px;}
+.hisroy_price .hisroy_defprice_in .clearfix{ display: flex; justify-content: space-between; align-items: center; height: 40px; background-color: #fff; padding: 5px 10px; border-radius: 5px; margin: 0 0 10px 0;}
+.hisroy_price .hisroy_defprice_in .clearfix:last-child{margin: 0 0 0 0; text-align: right;}
+.hisroy_price .hisroy_defprice_in .clearfix p:nth-child(2n){width: calc(100% - 5px); text-align: right;}
+.hisroy_price .hisroy_defprice_in dl {position: absolute; font-size:13px; color:#777; padding:0; top:178px;}
+.hisroy_price .hisroy_defprice_in dl dd {padding:2px 0 0 8px;}
+
 .history_details .tType1_title{margin: 0;}
 .history_details .tType1_title img{margin: -4px 0 0 0;}
 .history_details .details_wrap{width: 100%; background-color: #f2f2f2; border-radius: 5px; padding: 15px 20px 15px 20px; box-sizing: border-box;}
@@ -2001,6 +2024,7 @@
 	.send_top {margin: 0 30px;}
 	.send_bottom {margin: 60px 30px 0 30px;}
 	.list_bottom {width: calc(100% - 200px);}
+	.sub .election .list_bottom{width:calc(100% - 100px)}
 	.area_tabcontent.photo_sample {min-height:737px;}
 	/* .area_tabcontent.photo_sample li {height:355.5px;} */
 	.area_tabcontent.photo_sample li .photo_cont {max-height:307.5px;}
@@ -2060,6 +2084,10 @@
 	.sub .election .receipt_number_table_wrap+.list_bottom .list_bottom_right button{font-size:14px;letter-spacing:-1px;}
 	.sub .election .receipt_number_table_wrap+.list_bottom .list_bottom_right .btn_gray.fill{padding:0 5px;}
 	.sub .election .receipt_number_table_wrap+.list_bottom .list_bottom_right .btn_yellow.fill{padding:0 3px;} 
+		
+	/* 후불회원 요금사용내역*/
+	.hisroy_price .hisroy_defprice_in>p {font-size: 18px; font-weight: 600;  margin-bottom: 25px;  font-family: 'GmarketSansBold';}
+	.hisroy_price .hisroy_defprice_in>div>p>span {font-size: 17px; font-family: 'GmarketSansBold'; color: #002c9a; padding-right: 1px;}
 }
 
 @media only screen and (max-width:1480px){
@@ -2158,9 +2186,10 @@
 	.rev_admin_cont .select_btnWrap .btn_right .select_btn{width: 105px;}
 	
 	/* 선거문자 */
-	.sub .election .list_bottom{width:100%;}
-	.sub .election .receipt_number_table_wrap+.list_bottom .list_bottom_right button{letter-spacing:-1.4px;}
-	.sub .election .list_bottom .pagination button{width:30px;height:30px;}
+	.sub .election .list_bottom{width:calc(100% - 154px);}
+	.sub .election .receipt_number_table_wrap .list_bottom{width:100%;}
+	.sub .election .list_bottom .list_bottom_right button{height:30px;font-size:14px;letter-spacing:-1.4px;}
+	.sub .election .list_bottom .pagination button{display:inline-flex;width:25px;height:30px;align-items:center;justify-content:center;}
 }
 
 @media only screen and (max-width:1380px){
@@ -2198,6 +2227,10 @@
 
 	/* 카카오톡 */
 	.kakaotalkset_cont .kakao_wrap .template_category{width: 259px;}
+	
+	/* 선거문자 */
+	.sub .election .list_bottom .list_bottom_right button{width:90px;height:30px;font-size:14px;letter-spacing:-1.4px;}	
+	
 }
 
 @media only screen and (max-width:1300px){
src/main/webapp/publish/css/main.css
--- src/main/webapp/publish/css/main.css
+++ src/main/webapp/publish/css/main.css
@@ -116,7 +116,7 @@
 .msg_photo .swiper-slide .slide_area:hover div.btn_more{display: block; width: 54px; height: 54px; background-color: rgba(0,0,0,0.4); border-radius: 100%; line-height: 48px; position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
 .msg_photo .area_img{display:flex;height:365px; border-radius: 16px 16px 0 0; overflow: hidden;align-items:center;}
 .msg_photo .area_img img{width: 100%; height: auto;}
-.msg_photo .area_img_text{font-size: 17px;padding: 12px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.msg_photo .area_img_text{font-size: 17px;padding: 18px 10px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .msg_photo .area_img_text .sub_text{display: block; font-size: 14px; color: #777; margin: 5px auto;}
 .msg_photo_wrap .swiper-button-prev {margin:0;background-image:url(/publish/images/main/btn_prev.png);background-size:12px 21px;}
 .msg_photo_wrap .swiper-button-next {margin:0;background-image:url(/publish/images/main/btn_next.png);background-size:12px 21px;}
src/main/webapp/publish/css/mem.css
--- src/main/webapp/publish/css/mem.css
+++ src/main/webapp/publish/css/mem.css
@@ -315,11 +315,11 @@
 .send_top .send_price li:last-child {margin-right: 0;}
 .my_dashboard .event_text{width: 558px; margin: 8px 0 0 auto; text-align: left; font-size: 15px; color: #555;}
 .my_dashboard .event_text span{font-size: 15px; font-weight: bold; color: #e40000; padding: 0 0 0 0;} */
-.my_dashboard .send_price{display: flex; width: calc(100% - 390px); height: 80%; margin: 0 0 0 0; line-height: 1; align-items: stretch;}
+.my_dashboard .send_price{display: flex;width: calc(100% - 490px); height: 80%; margin: 0 0 0 0; line-height: 1; align-items: stretch;}
 .my_dashboard .send_price::after{display: none;}
-.my_dashboard .send_price .price_title{display: flex; width: 100px; background-color: #eea301; color: #fff; font-size: 20px; font-weight: bold; border-radius: 10px 0 0 10px; align-items: center; justify-content: center; line-height: 1.5;}
-.my_dashboard .send_price .price_wrap{width: calc(100% - 100px); background-color: #fff; border-radius: 0 10px 10px 0;}
-.my_dashboard .send_price ul{display: flex; width: calc(100% - 20px); border-bottom: 1px dashed #d5d5d5; margin: 0 auto; padding: 10px 15px; align-items: center; flex-wrap: wrap; box-sizing: border-box;}
+.my_dashboard .send_price .price_title{display: flex; width: 100px; background-color: #eea301; color: #fff; font-size: 18px; font-weight: bold; border-radius: 10px 0 0 10px; align-items: center; justify-content: center; line-height: 1.5;}
+.my_dashboard .send_price .price_wrap{width: calc(135% - 100px); background-color: #fff; border-radius: 0 10px 10px 0;}
+.my_dashboard .send_price ul{display: flex; width: calc(100% - 0px); border-bottom: 1px dashed #d5d5d5; margin: 0 auto; padding: 10px 14px; align-items: center; flex-wrap: wrap; box-sizing: border-box;}
 .my_dashboard .send_price ul:last-child{border: 0; align-items: flex-start;}
 .my_dashboard .send_price ul:first-child li:last-child{margin: 0; padding: 0}
 .my_dashboard .send_price .price_wrap .title{font-size: 16px; color: #222;}
@@ -374,12 +374,17 @@
 .my_dashboard .my_dashboard_cont1 button {font-size: 17px; height: 45px; padding: 0 15px; border: 1px solid #002c9a; border-radius: 5px; margin-left: 15px; color: #002c9a; background-color: #fff; position: relative; right: 5px; top: 3px;}
 .my_dashboard_cont1>span {background-color: #fff; height: 43px; padding: 0 30px; border-radius: 21.5px; align-items: center; display: flex; font-weight: 300;}
 .my_dashboard_cont1>span>span {font-weight: 500;}
+.my_dashboard_cont1 .title_wrap{width:450px;}
+.my_dashboard_cont1 .user_text{display:flex;max-width:calc(100% - 115px);align-items:center;flex-wrap:wrap;margin:0 10px 0 0;line-height:1.3;}
+.my_dashboard_cont1 .user_name{word-break:break-all;margin:0 5px 0 0;}
+.my_dashboard_cont1 .title_wrap .btnType{position:inherit;height:36px;margin:0;}
+
 
 /* mypage dashboard cont1 등급제 기간 추가 - 기간 지나면 이부분 삭제 */
 .my_dashboard .my_dashboard_cont1 {padding: 25px 30px;}
 .my_dashboard_cont1>div {display: flex; align-items: center;}
 .my_dashboard_cont1 p {font-size: 16px; font-weight: 300;}
-.my_dashboard_cont1 p span {font-size: 24px; font-weight: 600; padding-right: 3px; margin-left: -20px;}
+.my_dashboard_cont1 p span {font-size: 24px; font-weight: 600; padding-right: 3px; /*margin-left: -20px;*/}
 .my_dashboard .my_dashboard_cont1 button {font-size: 17px; height: 45px; padding: 0 8px; border: 1px solid #002c9a; border-radius: 5px; margin-left: 15px; color: #002c9a; background-color: #fff; position: relative; right: 5px; top: 3px;}
 .my_dashboard_cont1>span {background-color: #fff; height: 43px; padding: 0 30px; border-radius: 21.5px; align-items: center; display: flex; font-weight: 300;}
 .my_dashboard_cont1>span>span {font-weight: 500;}
@@ -667,8 +672,14 @@
 
 /* 마이페이지 */
 /*등급제 아이콘 추가*/
-
-
+@media only screen and (max-width:1540px){
+	.my_dashboard .send_price{width: calc(102% - 486px);}
+	.my_dashboard .send_price .price_wrap{width: calc(105% - 73px);}
+	.my_dashboard .send_price .price_title{width: 65px;}
+	.send_top .send_price li{margin-right: 2px; padding-right:6px;}
+	.my_dashboard>.my_dashboard_cont1, .my_dashboard>.my_dashboard_cont3{flex-wrap: nowrap;}
+	.send_top .send_price .price_line::after{content: none;}
+}
 
 
 /* media queries */
@@ -677,7 +688,7 @@
     .my_dashboard_cont1 p{font-size: 16px;}
     .my_dashboard_cont1 p span{font-size: 24px;}
     .my_dashboard .my_dashboard_cont1 button{height: 40px; padding: 0 15px; font-size: 16px; font-weight: 500;}
-    .my_dashboard .send_price{width: calc(100% - 340px);}
+    .my_dashboard .send_price{width: calc(100% - 387px);}
     .send_top .send_price li{letter-spacing: -1px;}
     .send_top .send_price .title{padding: 0 4px 0 0;}
 
@@ -687,7 +698,10 @@
     .my_dashboard .my_dashboard_cont1 button {font-size: 16px; padding: 0 8px; margin: 0 0 0 13px; color: #002c9a;}
     .my_dashboard_cont1 .level_icon{margin: 0 22px 0 0;}
     .my_dashboard .send_price{margin: 0 -24px 0 0;}
-    .my_dashboard .send_price .price_title{width: 75px;}
+    .my_dashboard .send_price .price_wrap{width: calc(104% - 88px);}
+    .my_dashboard .title_wrap .btnType{margin: 0 10px 0 0;}
+	/*.my_dashboard .send_price .price_title{width: 75px;}*/
+	.my_dashboard .send_price .price_title{width: 50px; font-size: 16px; line-height: 1.4:}
 }
 
 @media only screen and (max-width:1380px){
@@ -697,6 +711,11 @@
 @media only screen and (max-width:1300px){
     /* join3 */
     .mem_cont.join3 .text_middle>div {font-size: 16px;}
+    .my_dashboard .send_price .price_wrap{width:calc(101% - 72px);}
+    .my_dashboard .send_price{width: calc(102% - 320px);}
+}
+@media only screen and (max-width:1280px{
+	.my_dashboard .send_price ul{padding: 10px 10px;}
 }
 @media only screen and (max-width:1260px){
     /* �߽Ź�ȣ ���� */
src/main/webapp/publish/css/popupLayer.css
--- src/main/webapp/publish/css/popupLayer.css
+++ src/main/webapp/publish/css/popupLayer.css
@@ -290,7 +290,7 @@
 .error_hover_cont {top: 45px; right: -1px; width: 320px;line-height:1.4;}
 .test_hover_cont {top: 54px; right: -1px; width: 220px;}
 .addr_hover_cont {top:inherit;bottom:40px;}
-
+.sub .election .list_bottom_right .send_hover_cont{width:270px;}
 
 
 /* 통신사 고객센터 정보 */
@@ -1132,6 +1132,20 @@
 .toast_popup .title{font-size:16px;font-weight:500;color:#fff;line-height:1.5;}
 .toast_popup .btn_close{display:inline-block;width:20px;height:20px;background:url(/publish/images/icon_toast_close.png) no-repeat center center;}
 
+/*20건 문자(수동문자) 이용안내 팝업*/
+.tw_wrap .con .tw_title{padding: 0 0 10px 0;}
+.tw_wrap .tw_title01_icon{background-image: url(/publish/images/popup/tw_popup/title01_icon.png); width: 28px; height: 24px; margin: 0 5px 0 0;}
+.tw_wrap .con .tw_title .tw_title02_icon{background-image: url(/publish/images/popup/tw_popup/title02_icon.png); width: 28px; height: 24px; margin: 0 5px 0 0;}
+.tw_wrap .con .tw_title .tw_title03_icon{background-image: url(/publish/images/popup/tw_popup/title03_icon.png); width: 28px; height: 24px; margin: 0 5px 0 0;}
+.tw_wrap .con .tw_title .tw_title04_icon{background-image: url(/publish/images/popup/tw_popup/title04_icon.png); width: 28px; height: 24px; margin: 0 5px 0 0;}
+.tw_wrap .con .tw_title .tw_title05_icon{background-image: url(/publish/images/popup/tw_popup/title05_icon.png); width: 28px; height: 24px; margin: 2px 5px 0 0;}
+.tw_wrap .con .tw_con ul li{font-size: 17px; color: #222; font-weight: 500; line-height: 1.8;}
+.tw_wrap .con .tw_con ul .te{line-height: 1.4; text-indent: -10px; word-break: keep-all; margin: 0 0 10px 13px;}
+.tw_wrap .con .tw_con ul .sub_te{font-size: 16px; color: #666; font-weight: 400; line-height: 1.5; margin: -5px 0 0 11px;}
+.tw_wrap .con .tw_con .sub_li li{font-size: 16px; color: #666; font-weight: 400; line-height: 1.6; margin: 0 0 0 11px;}
+.tw_wrap .con .tw_con .li_02{margin: 10px 0 0 0;}
+.tw_wrap .con .tw_con img{width: 100%; margin: 22px 0 40px 0;}
+
 
 /* ie */
 @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
src/main/webapp/publish/guide_2022.html
--- src/main/webapp/publish/guide_2022.html
+++ src/main/webapp/publish/guide_2022.html
@@ -18,6 +18,7 @@
     <!-- <p>***<span class="font1"> (컨텐츠)</span> : 반복적으로 사용 안함</p>
     <p>***<span class="font2"> (보드)</span> : 반복적으로 사용</p> -->
     <ul class="page">
+        <li><a href="/publish/payment6.html">payment6.html</a>후불회원 : 결제관리 > 요금사용내역</li>
     	<li><a href="/publish/sub_election_2023.html">sub_election_2023.html</a>선거문자</li>
         <li><a href="/publish/publish_text/send_text.html">send_text.html</a>문자보내기</li>
         <li><a href="/publish/publish_text/text_send.html">text_send.html</a>문자발송</li>
 
src/main/webapp/publish/images/content/history_icon4.png (Binary) (added)
+++ src/main/webapp/publish/images/content/history_icon4.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/title01_icon.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/title01_icon.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/title02_icon.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/title02_icon.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/title03_icon.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/title03_icon.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/title04_icon.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/title04_icon.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/title05_icon.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/title05_icon.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_banner.png (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_banner.png
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_con_01.jpg (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_con_01.jpg
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_con_02.jpg (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_con_02.jpg
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_con_03.jpg (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_con_03.jpg
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_con_04.jpg (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_con_04.jpg
Binary file is not shown
 
src/main/webapp/publish/images/popup/tw_popup/tw_con_05.jpg (Binary) (added)
+++ src/main/webapp/publish/images/popup/tw_popup/tw_con_05.jpg
Binary file is not shown
src/main/webapp/publish/index_2023.html
--- src/main/webapp/publish/index_2023.html
+++ src/main/webapp/publish/index_2023.html
@@ -288,10 +288,21 @@
             <button type="button" class="btnType btnType2">로그아웃</button>
           </div>
           <div class="check_money">
-            <i></i>
-            <p>보유잔액 <span class="fwMd">3,000</span>원</p>
+            <div class="holdingsum_box">
+              <i></i>
+              <p>보유잔액 <span class="fwMd">3,000</span>원</p>
+              <dl>
+                <dd>후불제 고객의 보유잔액(캐시)은 당월 발송 가능<br>금액을 말하며 <span>매월 1일 자동으로 충전</span>됩니다.</dd>
+              </dl>
+            </div>
             <button type="button" class="btnType btnType3">충전</button>
-            <button type="button" class="btnType btnType3">전용계좌</button>
+            <div class="account_box">
+              <button type="button" class="btnType btnType3">전용계좌</button>
+              <dl>
+                <dt>전용계좌</dt>
+                <dd>신한은행 56212519515101</dd>
+              </dl>
+            </div>
           </div>
           <div class="point">
             <i></i>
 
src/main/webapp/publish/payment6.html (added)
+++ src/main/webapp/publish/payment6.html
@@ -0,0 +1,590 @@
+<!DOCTYPE html>
+<html lang="ko">
+
+<head>
+	<meta charset="UTF-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>문자온_요금사용내역</title>
+
+	<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet">
+	<link rel="stylesheet" href="/publish/css/reset.css">
+	<link rel="stylesheet" href="/publish/css/jquery.mCustomScrollbar.css">
+	<link rel="stylesheet" href="/publish/css/common.css">
+	<link rel="stylesheet" href="/publish/css/button.css">
+	<link rel="stylesheet" href="/publish/css/content.css">
+	<link rel="stylesheet" href="/publish/css/mem.css">
+	<link rel="stylesheet" href="/publish/css/font.css">
+	<link rel="stylesheet" href="/publish/css/popupLayer.css">
+	<link rel="stylesheet" href="/publish/js/datepicker/classic.css">
+	<link rel="stylesheet" href="/publish/js/datepicker/classic.date.css">
+
+
+	<script src="/publish/js/jquery-3.5.0.js"></script>
+	<script src="/publish/js/jquery.mCustomScrollbar.concat.min.js"></script>
+	<script src="/publish/js/common.js"></script>
+	<script src="/publish/js/content.js"></script>
+	<script src="/publish/js/calendar.js"></script>
+	<script src="/publish/js/popupLayer.js"></script>
+	<script type="text/javascript" src="/publish/js/datepicker/picker.js"></script>
+	<script type="text/javascript" src="/publish/js/datepicker/picker.date.js"></script>
+	<script type="text/javascript" src="/publish/js/datepicker/ko_KR.js"></script>
+
+</head>
+
+<body>
+	<div class="mask"></div>
+	<!-- skip 메뉴  -->
+	<div class="skip_menu">
+		<a href="#cont" title="본문 바로가기" class="contGo">본문 바로가기</a>
+	</div>
+	<!--// skip 메뉴  -->
+	<!-- quick 메뉴 -->
+	<div class="quickMenu">
+		<div>
+			<p class="quick_title">QUICK<br>MENU</p>
+			<p class="quick_title2">QUICK</p>
+			<ul class="quickMenuIn">
+				<li>
+					<a href="/publish/index.html"><i class="quick1"></i><span>이용안내</span></a>
+					<div class="hover_cont">이용안내</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick2"></i><span>채팅상담</span></a>
+					<div class="hover_cont">채팅상담</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick3"></i><span>원격지원</span></a>
+					<div class="hover_cont">원격지원</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick4"></i><span>맞춤제작</span></a>
+					<div class="hover_cont">맞춤제작</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick5"></i><span>주소록 등록</span></a>
+					<div class="hover_cont">주소록 등록</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick6"></i><span>엑셀 전송</span></a>
+					<div class="hover_cont">엑셀 대량전송</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick7"></i><span>견적서</span></a>
+					<div class="hover_cont">견적서</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick8"></i><span>결제</span></a>
+					<div class="hover_cont">결제</div>
+				</li>
+				<li>
+					<a href="#"><i class="quick9"></i><span>영수증/계산서</span></a>
+					<div class="hover_cont">영수증/계산서</div>
+				</li>
+			</ul>
+			<button type="button" class="goTop" title="맨 위로 이동">TOP<i></i></button>
+		</div>
+	</div>
+	<!--// quick 메뉴 -->
+	<!-- header 영역 -->
+	<header id="header" class="header">
+		<!-- header top 영역 -->
+		<div class="header_top">
+			<div class="inner">
+				<ul class="menu_left">
+					<li><a href="#"><i class="hdTop_fav"></i>즐겨찾기추가</a></li>
+					<li><a href="#"><i class="hdTop_mypage"></i>마이페이지</a></li>
+					<li><a href="#"><i class="hdTop_center"></i>고객센터</a></li>
+				</ul>
+				<ul class="menu_right">
+					<li><a href="#">충전하기</a></li>
+					<li class="SortLine"><a href="#">요금안내</a></li>
+					<li class="SortLine"><a href="#">이용안내</a></li>
+					<li class="SortLine"><a href="#">1:1고객상담</a></li>
+				</ul>
+			</div>
+		</div><!-- header top 영역 -->
+		<!-- header body 영역 -->
+		<div class="header_body">
+			<div class="inner table">
+				<h1 class="logo"><a href="/publish/index.html" alt="문자온 메인 바로가기"><img src="/publish/images/CI.png" alt="문자온 CI"></a></h1>
+				<ul class="gnbWrap table_cell">
+					<li><a href="#">문자발송</a></li>
+					<li><a href="#">선거문자</a></li>
+					<li><a href="#">맞춤제작</a></li>
+					<li><a href="#">비즈톡</a></li>
+					<li><a href="#">주소록 관리</a></li>
+					<li><a href="#">발송결과</a></li>
+					<li><a href="#">예약관리</a></li>
+					<li><a href="#">결제내역</a></li>
+				</ul>
+				<div class="s_menu">
+					<i class="allSearch_info"><span>문자검색</span></i>
+					<button type="button" title="전체검색" class="allSearch" onclick="searchToggle();"><img src="/publish/images/search.png" alt="검색영역 열기" class="allMenu"></button>
+					<button type="button" title="전체메뉴"><img src="/publish/images/all_menu.png" alt="전체메뉴 열기"></button>
+				</div>
+			</div>
+			<!-- search popup 영역 -->
+			<div class="pop_search">
+				<div class="inner">
+					<div class="area_search">
+						<select name="" id="">
+							<option value="">그림문자</option>
+							<option value="">단문문자</option>
+							<option value="">장문문자</option>
+							<option value="">GIF</option>
+						</select>
+						<input type="text" placeholder="문자샘플 검색하기">
+						<button><img src="/publish/images/search02.png" alt=""></button>
+					</div>
+					<div class="area_popular">
+						<p><i></i>인기검색어</p>
+						<ul class="popular_tag">
+							<li><a href="#">#정월대보름</a></li>
+							<li class="on"><a href="#">#추석</a></li>
+							<li><a href="#">#가을인사</a></li>
+							<li><a href="#">#좋은하루</a></li>
+						</ul>
+					</div>
+					<button class="btn_close" onclick="searchToggle();"><img src="/publish/images/btn_searchclose.png" alt=""></button>
+				</div>
+			</div>
+			<!--// search popup 영역 -->
+		</div>
+		<!--// header body 영역 -->
+		<div id="login" class="login">
+			<div class="inner table">
+				<div class="login_left table_cell">
+					<div class="login_put">
+						<label for="id_text" class="label"></label>
+						<input type="text" placeholder="아이디를 입력해주세요" id="id_text" class="id_text" maxlength="30" size="18">
+						<label for="password_text" class="label"></label>
+						<input type="password" placeholder="비밀번호를 입력해주세요" id="password_text" class="password_text" maxlength="30" size="18">
+						<label for="login_button" class="label"></label>
+						<button type="submit" class="btnType btnType1" class="login_button">로그인</button>
+					</div>
+					<div class="login_save">
+						<input type="checkbox" id="save_id">
+						<label for="save_id">아이디 저장</label>
+					</div>
+					<div class="login_find">
+						<a href="#">아이디찾기 /</a>
+						<a href="#">비밀번호 찾기</a>
+					</div>
+					<div>
+						<button type="button" class="btnType btnType2">회원가입</button>
+						<button type="button" class="btnType btnType3">둘러보기</button>
+					</div>
+				</div>
+				<div class="login_right">
+					<span><i></i>이달의 이벤트</span>
+					<button type="button" class="btnType btnType4">바로가기</button>
+				</div>
+			</div>
+		</div>
+		<!--// login 영역 -->
+	</header>
+	<!--// header 영역 -->
+	<!-- login 영역 -->
+	<!-- content 영역 -->
+	<div id="container" class="cont sub">
+		<div class="inner">
+			<!-- send top -->
+			<div class="send_top">
+				<!-- tab button -->
+				<ul class="tabType4">
+					<li class="tab"><button type="button" onclick="TabType5(this,'1');">요금안내/견적내기</button></li>
+					<li class="tab"><button type="button" onclick="TabType5(this,'1');">결제하기</button></li>
+					<li class="tab"><button type="button" onclick="TabType5(this,'2');">요금 결제내역</button></li>
+					<li class="tab active"><button type="button" onclick="TabType5(this,'3');">요금 사용내역</button></li>
+					<li class="tab"><button type="button" onclick="TabType5(this,'4');">계산서/현금영수증 발행 등록</button></li>
+				</ul>
+				<!--// tab button -->
+				<!-- 결제관리 - 요금 사용내역 -->
+				<div class="serv_content current" id="tab5_4">
+					<div class="heading">
+						<h2>요금 사용내역</h2>
+					</div>
+					<p class="tRight c_666" style="margin: 0 0 10px 0">(VAT 별도)</p>
+					<div class="hisroy_price">
+						<div class="hisroy_defprice_in">
+							<p><i></i>누적 사용금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p><span>120</span>원</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p><span>120</span>원</p>
+							</div>
+						</div>
+						<div class="hisroy_defprice_in">
+							<p><i></i>누적 납부금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p><span>120</span>원</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p><span>120</span>원</p>
+							</div>
+						</div>
+						<div class="hisroy_defprice_in">
+							<p><i></i>당월 납부 예상금액</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p><span>120</span>원</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p><span>120</span>원</p>
+							</div>
+						</div>
+                        <div class="hisroy_defprice_in">
+							<p><i></i>잔액 (사용가능금액)</p>
+							<div class="clearfix">
+								<p>캐시</p>
+								<p><span>43,898.6</span>원</p>
+							</div>
+							<div class="clearfix">
+								<p>포인트</p>
+								<p><span>120</span>원</p>
+							</div>
+						</div>
+					</div>
+					<div class="history_details">
+						<p class="tType1_title"><img src="images/content/history_details_title.png" alt=""> 발송내역</p>
+						<div class="details_wrap">
+							<table>
+								<colgroup>
+									<col style="width: calc(100% / 5);">
+									<col style="width: calc(100% / 5);">
+									<col style="width: calc(100% / 5);">
+									<col style="width: calc(100% / 5);">
+									<col style="width: calc(100% / 5);">
+								</colgroup>
+								<thead>
+									<tr>
+										<th>구분</th>
+										<th>문자</th>
+										<th>알림톡</th>
+										<th>팩스</th>
+										<th>계</th>
+									</tr>
+								</thead>
+								<tbody>
+									<tr>
+										<td>발송건(매)수</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+									</tr>
+									<tr>
+										<td>예약건수</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+										<td>100,000,000</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+					</div>
+					<p class="tType1_title"><img src="/publish/images/content/icon_details_breakdown.png" alt=""> 세부내역</p>
+					<div class="excel_middle">
+						<div class="select_btnWrap clearfix">
+							<div class="btn_left">
+								<span class="cal_label">기간선택</span>
+								<div class="calendar_wrap">
+									<input type="text" class="startDate inp calendar picker__input" title="검색 시작일" id="startDate" name="startDate" value="" data-datecontrol="true" readonly="" aria-haspopup="true" aria-expanded="false" aria-readonly="false" aria-owns="startDate_root">
+									<span class="dateEtc">~</span>
+									<input type="text" class="endDate inp calendar picker__input" title="검색 종료일" id="endDate" name="endDate" value="" data-datecontrol="true" readonly="" aria-haspopup="true" aria-expanded="false" aria-readonly="false" aria-owns="endDate_root">
+								</div>
+								<button type="button">이번년도</button>
+								<button type="button">전월</button>
+								<button type="button">당월</button>
+								<button type="button" class="btnType6">조회</button>
+								<span class="reqTxt4"><span class="vMiddle">*</span> 조회기간의 사용내역만 보여집니다.</span>
+							</div>
+							<div>
+							</div>
+						</div>
+					</div>
+					<div class="list_tab_wrap2 type2">
+						<!-- tab button -->
+						<ul class="list_tab">
+							<li class="tab active"><button type="button" onclick="listTab2(this,'1');">전체</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'2');">단문</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'3');">장문</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'4');">그림</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'5');">선거</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'5');">알림톡</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'5');">친구톡</button></li>
+							<li class="tab"><button type="button" onclick="listTab2(this,'5');">팩스</button></li>
+						</ul>
+						<!--// tab button -->
+					</div>
+					<div class="price_history_cont" id="listTab2_5">
+						<div class="list_info">
+							<p>총 <span>10</span>건 / 사용금액 합계 : <span>25,000</span>원</p>
+							<div>
+								<button type="button" class="print_btn"><i class="print_img"></i>인쇄하기</button>
+								<button type="button" class="pdf_btn"><i class="pdf_img"></i>PDF저장</button>
+								<button type="button" class="excel_btn"><i class="downroad"></i>엑셀 다운로드</button>
+							</div>
+						</div>
+						<div class="tb_wrap">
+							<table class="tType4">
+								<colgroup>
+									<col style="width: 17%;">
+									<col style="width: 17%;">
+									<col style="width: 17%;">
+									<col style="width: 15%;">
+									<col style="width: *%;">
+									<col style="width: *%;">
+								</colgroup>
+								<thead>
+									<tr>
+                                        <th rowspan="2">
+											발송일시
+											<div class="sort_wrap">
+												<button type="button"><img src="images/sortUp.png" alt="오름차순으로 분류"></button>
+												<button type="button"><img src="images/sortDown.png" alt="내림차순으로 분류"></button>
+											</div>
+										</th>
+                                        <th rowspan="2">
+											문자유형
+											<div class="sort_wrap">
+												<button type="button"><img src="images/sortUp.png" alt="오름차순으로 분류"></button>
+												<button type="button"><img src="images/sortDown.png" alt="내림차순으로 분류"></button>
+											</div>
+										</th>
+										<th rowspan="2">
+											내용
+										</th>
+										<th rowspan="2">
+											발송건수
+										</th>
+										<th colspan="2">사용</th>
+									</tr>
+									<tr>
+										<th>충전금</th>
+										<th>포인트</th>
+									</tr>
+								</thead>
+								<tbody>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8888</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>8(1)</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">50</p>
+										</td>
+									</tr>
+									<tr>
+										<td>
+											<p>2023-12-28 07:32</p>
+										</td>
+										<td>
+											<p>장문</p>
+										</td>
+										<td>
+											<p><button class="btnType btnType20" onclick="#">상세보기</button></p>
+										</td>
+										<td>
+											<p>5897</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">0</p>
+										</td>
+										<td>
+											<p class="fwRg c_002c9a">500</p>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+						<div class="publish_btn clearfix">
+							<div>
+								<input type="radio" checked>
+								<label for="">거래명세서</label>
+								<input type="radio">
+								<label for="">사용내역서</label>
+							</div>
+							<div>
+								<button type="button" class="btnType">발행하기</button>
+							</div>
+						</div>
+						<!-- pagination -->
+						<ul class="pagination">
+							<li class="page_first"><button><img src="/publish/images/content/page_first.png" alt=""></button></li>
+							<li class="page_prev"><button><img src="/publish/images/content/page_prev.png" alt=""></button></li>
+							<li class="on"><button>1</button></li>
+							<li><button>2</button></li>
+							<li><button>3</button></li>
+							<li><button>4</button></li>
+							<li><button>5</button></li>
+							<li><button>6</button></li>
+							<li><button>7</button></li>
+							<li><button>8</button></li>
+							<li><button>9</button></li>
+							<li><button>10</button></li>
+							<li class="page_next"><button><img src="/publish/images/content/page_next.png" alt=""></button></li>
+							<li class="page_last"><button><img src="/publish/images/content/page_last.png" alt=""></button></li>
+						</ul><!-- pagination -->
+					</div><!-- 결제관리 - 요금 사용내역 -->
+				</div>
+			</div>
+			<!--// send top -->
+		</div>
+	</div>
+	<!--// content 영역 -->
+	<!-- footer 영역 -->
+	<footer id="footer" class="footer">
+		<div class="footer_top">
+			<div class="inner table">
+				<ul class="table_cell">
+					<li><a href="#">이용약관</a></li>
+					<li class="SortLine fwRg c_white"><a href="#">개인정보취급방침</a></li>
+					<li class="SortLine fwRg c_white"><a href="#">스팸관리정책</a></li>
+					<li class="SortLine"><a href="#">불법스팸예방안내</a></li>
+				</ul>
+			</div>
+		</div>
+		<div class="footer_body">
+			<div class="inner table">
+				<div class="table_cell">
+					<a href="#" class="footer_logo"><img src="/publish/images/CI_white.png" alt="문자온 CI"></a>
+					<div class="footer_info">
+						<p>주소 : 경기도 남양주시 다산중앙로 19번길 21 1027호, 1028호(블루웨일 지식산업센터 1차)</p>
+						<p>사업자번호 : 653-87-00858 | 대표 : 유인식 | 통신판매등록번호 : 제 다산-12345호 | 문의전화 : 070-4786-0007</p>
+						<p>Copyright 2020 ⓒ MUNJAON co. Ltd, All rights reserved.</p>
+					</div>
+					<div class="footer_service_center">
+						<i></i>
+						<div>
+							<p>고객센터</p>
+							<span class="footer_service_num">070-4786-0008</span>
+							<span>E-mail : help@iten.co.kr</span>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</footer>
+	<!--// footer 영역 -->
+</body>
+
+</html>(No newline at end of file)
 
src/main/webapp/publish/publish_adv/adv_template_v1_manuscript_15.html (added)
+++ src/main/webapp/publish/publish_adv/adv_template_v1_manuscript_15.html
@@ -0,0 +1,385 @@
+<!DOCTYPE html>
+<html lang="ko">
+
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>설날문자 인사말 문구 모음 - 문자온</title>
+
+  <meta name="Keywords" content="문자전송, 문자발송, SMS, LMS, MMS, 문자보내기, 단체문자, 단체문자전송, 단체문자발송,단체문자사이트,문자사이트, 대량문자">
+  <meta name="description" content="설날은 한 해가 시작되는 새해 새 달의 첫 날로 한 해의 최초 명절이라는 의미를 가지고 있습니다. 우리에게 있어서 설날은 빼놓을 수 없는 중요한 명절인데요. 긴 연휴를 앞두고 주변인들에게 덕담 한마디와 반가운 인사말을 문자로 남겨보시는 건 어떨까요? 어떻게 작성하면 좋을지 고민하고 계시는 여러분들을 위해 문자온이 다양한 예시를 보여드리도록 하겠습니다.">
+  <meta property="og:type" content="website">
+  <meta property="og:title" content="설날문자 인사말 문구 모음 - 문자온">
+  <meta property="og:description" content="설날은 한 해가 시작되는 새해 새 달의 첫 날로 한 해의 최초 명절이라는 의미를 가지고 있습니다. 우리에게 있어서 설날은 빼놓을 수 없는 중요한 명절인데요. 긴 연휴를 앞두고 주변인들에게 덕담 한마디와 반가운 인사말을 문자로 남겨보시는 건 어떨까요? 어떻게 작성하면 좋을지 고민하고 계시는 여러분들을 위해 문자온이 다양한 예시를 보여드리도록 하겠습니다.">
+  <link rel="apple-touch-icon" sizes="57x57" href="/publish/images/favicon/apple-icon-57x57.png">
+  <link rel="apple-touch-icon" sizes="60x60" href="/publish/images/favicon/apple-icon-60x60.png">
+  <link rel="apple-touch-icon" sizes="72x72" href="/publish/images/favicon/apple-icon-72x72.png">
+  <link rel="apple-touch-icon" sizes="76x76" href="/publish/images/favicon/apple-icon-76x76.png">
+  <link rel="apple-touch-icon" sizes="114x114" href="/publish/images/favicon/apple-icon-114x114.png">
+  <link rel="apple-touch-icon" sizes="120x120" href="/publish/images/favicon/apple-icon-120x120.png">
+  <link rel="apple-touch-icon" sizes="144x144" href="/publish/images/favicon/apple-icon-144x144.png">
+  <link rel="apple-touch-icon" sizes="152x152" href="/publish/images/favicon/apple-icon-152x152.png">
+  <link rel="apple-touch-icon" sizes="180x180" href="/publish/images/favicon/apple-icon-180x180.png">
+  <link rel="icon" type="image/png" sizes="192x192" href="/publish/images/favicon/android-icon-192x192.png">
+  <link rel="icon" type="image/png" sizes="32x32" href="/publish/images/favicon/favicon-32x32.png">
+  <link rel="icon" type="image/png" sizes="96x96" href="/publish/images/favicon/favicon-96x96.png">
+  <link rel="icon" type="image/png" sizes="16x16" href="/publish/images/favicon/favicon-16x16.png">
+  <link rel="manifest" href="/publish/images/favicon/manifest.json">
+
+  <link rel="stylesheet" href="/publish/publish_adv/css/reset.css">
+  <link rel="stylesheet" href="/publish/publish_adv/css/style.css">
+  <link rel="stylesheet" href="/publish/css/font.css">
+
+  <script src="/publish/js/jquery-3.5.0.js"></script>
+  <script>
+    function topBtn() {
+      $("html").scrollTop("0");
+    }
+  </script>
+</head>
+
+<body>
+  <div class="template_v1_content content_ten con_four">
+    <button type="button" class="top_btn" onclick="topBtn()" style="z-index: 2;">▲<br>TOP</button>
+    <header>
+      <div class="inner">
+        <a href="https://www.munjaon.co.kr">
+          <h1><img src="/publish/publish_adv/img/template_v1_header_logo.png" alt=""></h1>
+        </a>
+      </div>
+    </header>
+    <div class="visual">
+      <div class="inner">
+        <p class="keyword">keyword</p>
+        <h2>설날문자 인사말 문구 모음</h2>
+        <p class="sub_text obituary_te">설날은 한 해가 시작되는 새해 새 달의 첫 날로 한 해의 최초 명절이라는 의미를 가지고 있습니다. 우리에게 있어서 설날은 빼놓을 수 없는 중요한 명절인데요. 긴 연휴를 앞두고 주변인들에게 덕담 한마디와 반가운 인사말을 문자로 남겨보시는 건 어떨까요? 어떻게 작성하면 좋을지 고민하고 계시는 여러분들을 위해 문자온이 다양한 예시를 보여드리도록 하겠습니다.</p>
+      </div>
+    </div>
+
+    <!--
+          <div class="index">
+        <div class="inner">
+          <p>목&ensp;차</p>
+          <nav>
+            <ul>
+              <li><a href="#section01">설날문자 예시</a></li>
+            </ul>
+          </nav>
+        </div>
+    </div>
+    -->
+
+    <!--연관 내용-->
+    <!--
+          <div class="ass">
+        <div class="inner">
+          <div class="ass_con">
+            <p class="title">연관 내용</p>
+            <p><a href="https://www.munjaon.co.kr/publish/publish_adv/adv_template_v1_manuscript_12.html">- 연말연시 감사 인사말 문구</a></p>
+            <p><a href="https://www.munjaon.co.kr/publish/publish_adv/adv_template_v1_manuscript_13.html">- 크리스마스 문자 예시 모음</a></p>
+          </div>
+        </div>
+    </div>
+    -->
+
+    <section class="section section01" id="section01">
+      <div class="inner obituary_inner">
+        <h3>설날문자 예시</h3>
+        <div class="short">
+          <p class="text bold" style="margin: 0 0 8px 0;">[단문]</p>
+          <ul class="obituary">
+              <li>
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        온 가족 한자리에 모여 떡국을 먹고<br>
+                        한 살 더 먹는 설날. 새해에 소원성취하길 바랍니다♧
+                        <p class="date">PM 3:45</p>
+                    </div>
+                </div>
+                <div class="people_01"></div>
+                <div class="speech_bubble"></div>
+              </li>
+              <li class="move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        새롭게 다시 시작하는 설날!<br>
+                        새로운 마음으로 새로운 꿈과 목표를 향해 힘차게 출발해요! 아자!
+                      <p class="date">PM 5:30</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        민족 대명절, 설날은 웃어른을 찾아뵙고<br>
+                        인사드리며 덕담을 나누는 날입니다.<br>
+                        행복한 설 연휴 보내세요.
+                      <p class="date">PM 8:55</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        설날 고향 가시는 길 운전 조심히 하시고<br>
+                        건강히 잘 다녀오세요.<br>
+                        새해 복 많이 받으시고 행복하세요~^^
+                      <p class="date">AM 8:40</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        설날을 맞이하여 더욱 건강하시고<br>
+                        원하시는 일 모두 이루시기 바랍니다.<br>
+                        새해 복 많이 받으세요.
+                      <p class="date">PM 2:15</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        ㆀ┌─♡┐~빵 <br>
+                        ┌┘▧▧└┐~빵<br>
+                        └◎──◎┘<br>
+                        고향 가는 길 운전 조심하고 즐겁게 보내세요.
+                      <p class="date">AM 9:30</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        정월 초하룻날인 설날입니다.<br>
+                        가족들이 한자리에 모여 웃음이 끊이지 않는<br>
+                        정 넘치는 설 연휴 되세요.
+                      <p class="date">PM 2:20</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        즐거운 설입니다.<br>
+                        어깨에 올려진 걱정, 근심 모두 내려놓으시고<br>
+                        설날의 여유로움을 즐기세요♡
+                      <p class="date">PM 6:50</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        즐거운 명절 설날!<br>
+                        올해에는 마음, 재물, 건강, 웃음, 행복, 행운<br>
+                        모두 부자 되시길 기원합니다~♬
+                      <p class="date">AM 9:30</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        까치의 울음소리에 밝은 새해를 기뻐하는<br>
+                        설날 아침입니다.<br>
+                        가족들이랑 즐거운 설 연휴 보내세요.
+                      <p class="date">AM 11:20</p>
+                    </div>
+                </div>
+                <div class="people_03"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+          </ul>
+        </div>
+
+        <div class="line"></div>
+
+        <div class="long">
+          <p class="text bold" style="margin: 0 0 8px 0;">[장문]</p>
+          <ul class="obituary">
+              <li>
+                  <div class="wrap">
+                      <div class="title">
+                          <p class="text">설날문자</p>
+                      </div>
+                      <div class="inner_text">
+                        까치 까치 설날은 어저께고요, 우리 우리 설날은 오늘이래요~♬<br><br>
+                        어느새 2024년 첫 연휴인, 설날이 코앞으로 다가왔습니다.<br><br>
+                        날씨는 춥지만 가족, 친지들과 모여 훈훈한 정을 나누는 명절 보내시길 바랍니다.
+                        <p class="date">PM 1:10</p>
+                      </div>
+                  </div>
+                  
+                  <div class="people_01"></div>
+                  <div class="speech_bubble"></div> 
+              </li>
+              <li class="move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        다사다난했던 2023년이 저물어 가고 희망찬 새해가 다가 옵니다.<br>
+                        2023년 힘들고 안 좋았던 기억들은 저물어 가는 해에 다 실어 보내세요.<br><br>
+                        2024년엔 새로운 희망들이 우리를 찾아오리라 기대해 봅니다.<br><br>
+                        늘 건강하시고, 많은 행운들이 함께 하시길 기원합니다.
+                        새해 복 많이 받으세요.
+                      <p class="date">AM 8:45</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        우리는 옛날부터 설날에는 떡국을 먹어야 한 살 더 먹는 것이라고 여겨왔습니다.<br>
+                        한살 더 먹은 만큼 지혜로워지고, 그만큼 더 성숙해져서 보다 슬기로운 삶을 살 수 있는 것과 마찬가지겠죠~<br>
+                        이번 설을 계기로 새로 출발하는 좋은 시작점이 되기를 희망해봅니다.<br>
+                        올 한 해 강건하시고, 소망하시는 일 이루시길 다시 한 번 기원합니다.<br>
+                        즐겁고 따뜻한 명절 보내십시오.
+                      <p class="date">PM 5:35</p>
+                    </div>
+                </div>
+                <div class="people_01"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        곧 있으면 2024년 첫 명절, 설날입니다.<br>
+                        사랑하는 부모님, 친지들 찾아뵙고<br>
+                        온 가족이 둘러앉아 다같이 명절음식을 나눠먹으며 행복한 연휴 보내세요.<br><br>
+                        아마 추운 겨울날에 가족을 더 생각하는 것이지 싶어요.<br>
+                        이번 설에도 칼바람이 볼을 에는 추위가 계속된다고 합니다. 모두 건강 유의하시고 행복한 시간 되시기 바랍니다.<br>
+                      <p class="date">AM 8:30</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div> 
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        즐거운 설 명절 입니다.<br>
+                        새해의 좋은 기운을 많이 받으셔서 2023년 계묘년도 승승장구하시는 한 해 되시기를 기원드립니다.<br><br>
+                        그동안의 보살핌에 감사드리고, 새해에도 많은 가르침 부탁드립니다.<br>
+                        고맙습니다.<br><br>
+                        늘 건강하시고, 새해 복 많이 받으세요.
+                      <p class="date">PM 5:15</p>
+                    </div>
+                </div>
+                <div class="people_02"></div>
+                <div class="speech_bubble"></div>
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        설날이 며칠 앞으로 다가왔습니다.<br><br>
+                        설맞이 행복하고, 가족의 따스한 정과 소중함을 느끼시는 설날되셨으면 좋겠네요.<br><br>
+                        추운 날씨에 항상 감기 조심하시고, 언제나 당신의 삶에 행복이 가득하시길 바랍니다 ^-^<br>
+                        새해 복 많이 받으시고, 올 한해 행복하세요~
+                      <p class="date">PM 5:30</p>
+                    </div>
+                </div>
+                <div class="people_01"></div>
+                <div class="speech_bubble"></div>
+              </li>
+              <li class="second_line move_line">
+                <div class="wrap">
+                    <div class="title">
+                        <p class="text">설날문자</p>
+                    </div>
+                    <div class="inner_text">
+                        2023년 새해엔 복 많이 받으시고<br><br>
+                        행복한 한해 되세요~~!!<br>
+                        꾸벅~ 큰절~^^<br><br>
+                        세뱃돈은 당신의 환한 웃음이면 충분해요. ^^
+                      <p class="date">PM 7:30</p>
+                    </div>
+                </div>
+                <div class="people_01"></div>
+                <div class="speech_bubble"></div>
+              </li>
+          </ul>
+        </div>
+
+        <div class="line"></div>
+
+        <div class="drawing">
+          <p class="text bold" style="margin: 0 0 8px 0;">[그림문자]</p>
+          <img src="/publish/publish_adv/img/template_v1_manuscript_15_section01_img01.png" alt="">
+        </div>
+      </div>
+    </section>
+    <div class="btn_wrap">
+      <div class="inner">
+        <a href="https://www.munjaon.co.kr/web/mjon/msgdata/selectMsgDataView.do">설날문자 보내기</a>
+      </div>
+    </div>
+  </div>
+
+</body>
+
+</html>(No newline at end of file)
 
src/main/webapp/publish/publish_adv/img/template_v1_manuscript_15_section01_img01.png (Binary) (added)
+++ src/main/webapp/publish/publish_adv/img/template_v1_manuscript_15_section01_img01.png
Binary file is not shown
src/main/webapp/publish/publish_m/css/style.css
--- src/main/webapp/publish/publish_m/css/style.css
+++ src/main/webapp/publish/publish_m/css/style.css
@@ -52,12 +52,27 @@
 footer ul li:last-child{margin: 0 auto;}
 footer .iten{padding: 22px 0 40px 0; font-size: 26px; font-weight: 300; opacity: 40%;}
 
+/*intro_03 내용 수정*/
+.visual .banner_con ul{padding: 50px 20px;}
+.visual .banner_con ul li{width:calc((100% - 15px)/2)}
+.visual .banner_con ul .wrap{border: none;}
+.visual .banner_con ul .wrap .inner_text{border-radius: 8px; font-weight: 700; padding: 15px 7px; line-height: 1.1; box-shadow: 0 0 20px rgba(0,0,0,0.3 );} 
+.visual .banner_con ul .wrap .inner_text span{font-size: 20px;}
+.con .add_wrap .text .inner_sub{font-size: 30px; font-weight: 300;}
+
 /*미디어쿼리_640x*/
 @media screen and (max-width:640px){
     .visual{background-image: url(/publish/publish_m/img/main_bg.png);}
 }
 
-/*미디어쿼리_500x*/
+/*미디어쿼리_585px*/
+@media screen and (max-width:585px){
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul .wrap .inner_text{font-size: 18px;}
+    .visual .banner_con ul .wrap .inner_text span{font-size: 14px;}
+}
+
+/*미디어쿼리_500px*/
 @media screen and (max-width:500px){
     /*header*/
     header .inner{border-radius: 0 0 20px 0; padding: 3px 20px;}
@@ -91,11 +106,29 @@
     footer .title p{margin: 0 0 0 10px;}
     footer ul li{width: 210px; margin: 0 auto 8px auto; border-radius: 8px; font-size: 22px; padding: 8px 0 5px 0;}
     footer .iten{padding: 12px 0 20px 0; font-size: 13px;}
+
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul .wrap{border: none;}
+    .visual .banner_con ul .wrap .inner_text{font-size: 18px; border-radius: 8px; font-weight: 700; font-size: 18px; padding: 15px 7px 13px 7px; line-height: 1.1; box-shadow: 0 0 20px rgba(0,0,0,0.3 );} 
+    .visual .banner_con ul .wrap .inner_text span{font-size: 14px;}
+    .con .add_wrap .text .inner_sub{font-size: 15px;}
 }
 
-/*미디어쿼리_460pxx*/
+/*미디어쿼리_460px*/
 @media screen and (max-width:460px){
     .visual{background-image: url(/publish//publish_m/img/main_bg_small_01.png);}
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul .wrap .inner_text{font-size: 16px;}
+}
+
+/*미디어쿼리_383px*/
+@media screen and (max-width:383px){
+    .visual .banner_con ul .wrap .second_te{padding: 15px 6px 13px 6px;} 
+}
+
+/*미디어쿼리_382px*/
+@media screen and (max-width:382px){
+    .visual .banner_con ul .wrap .second_te{padding: 15px 7px 13px 7px;}
 }
 
 /*미디어쿼리_360x*/
@@ -107,10 +140,19 @@
 @media screen and (max-width:340px){
     .visual .price ul .wrap .title{font-size: 13px;}
     .visual .price ul{padding: 0 15px;}
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul{padding: 40px 15px;}
 }
 
 /*미디어쿼리_310x*/
 @media screen and (max-width:310px){
     .visual .price ul .wrap .title{font-size: 12px;}
     .visual .price ul{padding: 0 9px;}
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul{padding: 40px 15px;}
+}
+/*미디어쿼리_310x*/
+@media screen and (max-width:300px){
+    /*intro_03 내용 수정*/
+    .visual .banner_con ul .wrap .inner_text{font-size: 15px;}
 }
(No newline at end of file)
 
src/main/webapp/publish/publish_m/munjaon_intro_03.html (added)
+++ src/main/webapp/publish/publish_m/munjaon_intro_03.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html lang="ko">
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>프리미엄 문자 발송 서비스 문자온</title>
+	<meta property="og:title" content="프리미엄 문자 발송 서비스 문자온">
+	<meta property="og:image" content="https://www.munjaon.co.kr/publish/publish_m/img/preview_logo.png">
+
+    <link rel="apple-touch-icon" sizes="57x57" href="/publish/images/favicon/apple-icon-57x57.png">
+	<link rel="apple-touch-icon" sizes="60x60" href="/publish/images/favicon/apple-icon-60x60.png">
+	<link rel="apple-touch-icon" sizes="72x72" href="/publish/images/favicon/apple-icon-72x72.png">
+	<link rel="apple-touch-icon" sizes="76x76" href="/publish/images/favicon/apple-icon-76x76.png">
+	<link rel="apple-touch-icon" sizes="114x114" href="/publish/images/favicon/apple-icon-114x114.png">
+	<link rel="apple-touch-icon" sizes="120x120" href="/publish/images/favicon/apple-icon-120x120.png">
+	<link rel="apple-touch-icon" sizes="144x144" href="/publish/images/favicon/apple-icon-144x144.png">
+	<link rel="apple-touch-icon" sizes="152x152" href="/publish/images/favicon/apple-icon-152x152.png">
+	<link rel="apple-touch-icon" sizes="180x180" href="/publish/images/favicon/apple-icon-180x180.png">
+	<link rel="icon" type="image/png" sizes="192x192" href="/publish/images/favicon/android-icon-192x192.png">
+	<link rel="icon" type="image/png" sizes="32x32" href="/publish/images/favicon/favicon-32x32.png">
+	<link rel="icon" type="image/png" sizes="96x96" href="/publish/images/favicon/favicon-96x96.png">
+	<link rel="icon" type="image/png" sizes="16x16" href="/publish/images/favicon/favicon-16x16.png">
+	<link rel="manifest" href="/publish/images/favicon/manifest.json">
+
+    <link rel="stylesheet" href="/publish/publish_m/css/reset.css">
+    <link rel="stylesheet" href="/publish/publish_m/css/style.css">
+</head>
+
+<body>
+	<div class="con_wrap">
+		<header>
+			<div class="inner">
+			  <a href="https://www.munjaon.co.kr">
+				<h1><img src="/publish/publish_m/img/header_logo.png" alt="문자온 로고"></h1>
+				<p>munjaon.co.kr</p>
+			  </a>
+			</div>
+		</header>
+		<div class="visual">
+			<div class="inner">
+				<h2><span>프리미엄</span>&nbsp;문자<br>발송 서비스</h2>
+				<div class="button">
+					<a href="https://www.munjaon.co.kr">
+						<p>문자온 바로가기&nbsp;<span>(클릭)</span></p>
+					</a>
+				</div>
+				<div class="price banner_con">
+					<ul>
+						<li>
+							<div class="wrap">
+								<p class="inner_text">최저가 요금<span>(후불제 가능)</span></p>
+							</div>
+						</li>
+						<li>
+							<div class="wrap">
+								<p class="inner_text second_te">편리한 선거문자 시스템</p>
+							</div>
+						</li>
+					</ul>
+				</div>
+			</div>
+		</div>
+		<section>
+			<div class="con">
+				<div class="title">
+					<p class="num">1</p>
+					<p>특장점</p>
+				</div>
+				<div class="text_wrap add_wrap">
+                    <div class="text">
+						<p class="te">편리한 20건 선거문자 발송</p>
+                        <p class="inner_sub">(자동분류, 전체선택 가능)</p>
+					</div>
+                    <div class="text">
+						<p class="te">업계 최저가 요금</p>
+                        <p class="inner_sub">(현 요금보다 저렴하게 제공)</p>
+					</div>
+					<div class="text">
+						<p class="te">단문<span class="inner_sub">(SMS)</span>, 장문<span class="inner_sub">(LMS)</span>, 그림문자<span class="inner_sub">(MMS)</span>, 카카오 알림톡, 팩스 발송 기능 제공</p>
+					</div>
+					<div class="text">
+						<p class="te">최신 트렌드 반영 서비스 제공</p>
+						<div class="text_sub">
+							<p>- 주소록 입력 대행(무료)</p>
+							<p>- 예약발송 기능 제공(분 단위)</p>
+							<p>- 문자메시지 지도‧약도 자동 첨부 가능</p>
+							<p>- 그림문자 주문제작 서비스 제공</p>
+							<p>- 다양한 결제수단 제공(신용카드, 휴대폰 결제, 전용계좌, 즉시이체, 간편결제 등)</p>
+							<p>- 무제한 발송량 제공</p>
+							<p>- 특정 공통문구(이름, 일시, 비용 등) 일괄 변경 기능 제공</p>
+						</div>
+					</div>
+					<div class="text">
+						<p class="te">기업‧단체‧공공기관 B2B 전용라인 제공</p>
+					</div>
+				</div>
+			</div>
+		</section>
+		<section>
+			<div class="con">
+				<div class="title">
+					<p class="num">2</p>
+					<p>이용고객</p>
+				</div>
+				<div class="text_wrap add_wrap">
+					<div class="text">
+						<p class="te">개인<span class="inner_sub">(사업자)</span></p>
+						<div class="text_sub">
+							<p>- 동호회, 동문회, 향우회, 병원, 부동산, 음식점, 마트, 대리점, 숙박업, 전문직 사무실, 소셜커머스 사업자, 교육시설(학원, 학교, 유치원, 어린이집), 스포츠시설(골프장, 피트니스) 등</p>
+						</div>
+					</div>
+					<div class="text">
+						<p class="te">기업‧협회‧단체</p>
+						<div class="text_sub">
+							<p>- 기업(대‧중‧소기업), 협회, 조합, 비영리단체, 종교단체(교회, 사찰), 은행, 카드사, 쇼핑몰, 택배사, 보험사, 리서치사 등</p>
+						</div>
+					</div>
+					<div class="text">
+						<p class="te">공공</p>
+						<div class="text_sub">
+							<p>- 정부, 지방자치단체, 국회, 지방의회, 법원, 공공기관, 공직유관단체, 도서관, 미술관, 전시관, 공연시설, 영화관 등</p>
+						</div>
+					</div>
+				</div>
+			</div>
+		</section>
+		<footer>
+			<div class="title">
+				<img src="/publish/publish_m/img/tel_icon.png" alt="고객센터 아이콘">
+				<p>고객센터</p>
+			</div>
+			<ul>
+				<li>
+					<a href="tel:010-8432-9333">010-8432-9333</a>
+				</li>
+				<li>
+					<a href="tel:010-2290-4789">010-2290-4789</a>
+				</li>
+			</ul>
+			<p class="iten">주식회사 아이티앤</p>
+		</footer>
+	</div>
+
+</body>
+</html>(No newline at end of file)
Add a comment
List