Merge branch 'master' of http://dudgusw@vcs.iten.co.kr:9999/hylee/mjon_git
@ -200,6 +200,11 @@ public class MjonMsgVO extends ComDefaultVO{
|
||||
|
||||
private String searchDelayMsgYn;
|
||||
|
||||
private int succSendCnt;
|
||||
private int failSendCnt;
|
||||
private double succSendPrice;
|
||||
private double failSendPrice;
|
||||
|
||||
public String getSearchDelayMsgYn() {
|
||||
return searchDelayMsgYn;
|
||||
}
|
||||
@ -1595,4 +1600,28 @@ public class MjonMsgVO extends ComDefaultVO{
|
||||
public void setFtSendCount(int ftSendCount) {
|
||||
this.ftSendCount = ftSendCount;
|
||||
}
|
||||
public int getSuccSendCnt() {
|
||||
return succSendCnt;
|
||||
}
|
||||
public void setSuccSendCnt(int succSendCnt) {
|
||||
this.succSendCnt = succSendCnt;
|
||||
}
|
||||
public int getFailSendCnt() {
|
||||
return failSendCnt;
|
||||
}
|
||||
public void setFailSendCnt(int failSendCnt) {
|
||||
this.failSendCnt = failSendCnt;
|
||||
}
|
||||
public double getSuccSendPrice() {
|
||||
return succSendPrice;
|
||||
}
|
||||
public void setSuccSendPrice(double succSendPrice) {
|
||||
this.succSendPrice = succSendPrice;
|
||||
}
|
||||
public double getFailSendPrice() {
|
||||
return failSendPrice;
|
||||
}
|
||||
public void setFailSendPrice(double failSendPrice) {
|
||||
this.failSendPrice = failSendPrice;
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,6 +79,8 @@ public interface MjonMsgDataService {
|
||||
|
||||
public List<MjonMsgVO> selectPayUserList(MjonMsgVO mjonMsgVO) throws Exception;
|
||||
|
||||
public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception;
|
||||
|
||||
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception;
|
||||
|
||||
// 중계사 시스템 발송 문자 내용 입력
|
||||
|
||||
@ -151,6 +151,11 @@ public class MjonMsgDataDAO extends EgovAbstractDAO {
|
||||
return (List<MjonMsgVO>) list("mjonMsgDAO.selectPayUserList",mjonMsgVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception{
|
||||
return (List<MjonMsgVO>) list("mjonMsgDAO.selectPayUserSWList",mjonMsgVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception{
|
||||
return (List<MjonMsgVO>) list("mjonMsgDAO.selectPayUserSumList",mjonMsgVO);
|
||||
|
||||
@ -1774,6 +1774,11 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
return mjonMsgDataDAO.selectPayUserList(mjonMsgVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MjonMsgVO> selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception {
|
||||
return mjonMsgDataDAO.selectPayUserSWList(mjonMsgVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MjonMsgVO> selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception {
|
||||
return mjonMsgDataDAO.selectPayUserSumList(mjonMsgVO);
|
||||
|
||||
@ -2099,6 +2099,13 @@ public class MjonPayController {
|
||||
return "/web/pay/PayListAllAjax";
|
||||
}
|
||||
|
||||
//후불제 회원 여부 조회
|
||||
UserManageVO userManageVO = new UserManageVO();
|
||||
userManageVO.setMberId(userId);
|
||||
userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO);
|
||||
|
||||
model.addAttribute("prePaymentYn", userManageVO.getPrePaymentYn());
|
||||
|
||||
return "/web/pay/PayList";
|
||||
}
|
||||
|
||||
@ -2514,7 +2521,7 @@ public class MjonPayController {
|
||||
return "/web/pay/PayUserWithKakaoList";
|
||||
}
|
||||
/**
|
||||
* 요금사용내역
|
||||
* 요금사용내역 하단 리스트 영역
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserListAjax.do"
|
||||
@ -2557,6 +2564,393 @@ public class MjonPayController {
|
||||
return "/web/pay/PayUserListAjax";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 요금사용내역 신규 화면
|
||||
* 2023.12.22 우영두
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserSWList.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/PayUserSWList.do"})
|
||||
public String PayUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO,
|
||||
MjonPayVO mjonPayVO,
|
||||
MberManageVO mberManageVO, RedirectAttributes redirectAttributes,
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
/*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
|
||||
if(loginVO == null) {
|
||||
//redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
|
||||
return "redirect:/web/user/login/login.do";
|
||||
}
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
mjonMsgVO.setUserId(userId);
|
||||
|
||||
{ // 충전캐시
|
||||
String sumPayMoney = mjonPayService.selectAgentSumPayMoney(userId);
|
||||
model.addAttribute("sumPayMoney", sumPayMoney);
|
||||
}
|
||||
|
||||
{ // 충전포인트
|
||||
String sumPoint = mjonPayService.selectSumPoint(userId);
|
||||
model.addAttribute("sumPoint", sumPoint);
|
||||
}
|
||||
|
||||
{ // 총 사용금액
|
||||
mjonPayVO.setUserId(userId);
|
||||
List<MjonPayVO> usedCashTotList = mjonPayService.selectUsedCashWithKakaoTotCnt(mjonPayVO);
|
||||
model.addAttribute("usedCashTotList", usedCashTotList);
|
||||
}
|
||||
{ // 사용가능한 금액
|
||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
model.addAttribute("mberManageVO", mberManageVO);
|
||||
}
|
||||
|
||||
{ // 발송건수
|
||||
mjonMsgVO.setReserveYn("N");
|
||||
List<MjonMsgVO> sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
model.addAttribute("sendTotList", sendTotList);
|
||||
}
|
||||
|
||||
{ // 예약건수
|
||||
mjonMsgVO.setReserveYn("Y");
|
||||
List<MjonMsgVO> reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO);
|
||||
model.addAttribute("reservToList", reservToList);
|
||||
}
|
||||
|
||||
{
|
||||
MjonCandidateVO mjonCandidateVO = new MjonCandidateVO();
|
||||
if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기
|
||||
mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId);
|
||||
if(mjonCandidateVO != null) {
|
||||
mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1()));
|
||||
mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2()));
|
||||
}
|
||||
}
|
||||
model.addAttribute("mjonCandidateVO", mjonCandidateVO);
|
||||
}
|
||||
return "/web/pay/PayUserSWList";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 요금사용내역 하단 리스트 영역 신규 화면
|
||||
* 2023.12.22 우영두
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserSWListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/PayUserSWListAjax.do"})
|
||||
public String PayUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
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());
|
||||
|
||||
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);
|
||||
|
||||
return "/web/pay/PayUserSWListAjax";
|
||||
}
|
||||
|
||||
@RequestMapping(value= {"/web/member/pay/PayPdfSWListPopUpAjax.do"})
|
||||
public String payPrintPdfSWDataAjax(
|
||||
@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/PrintPayUserSWListPdfPopUp";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 요금 사용내역 엑셀 다운
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/PayUserSWListExcelDownload.do"})
|
||||
public void PayUserSWListExcelDownload(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response ,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
// 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다.
|
||||
SXSSFWorkbook wb = new SXSSFWorkbook(100);
|
||||
String fileName ="사용내역 엑셀 리스트"; // 저장 파일명
|
||||
String sheetTitle = "요금사용내역" ; // 셀 제목
|
||||
Sheet sheet = wb.createSheet(sheetTitle);
|
||||
Cell cell = null;
|
||||
Row row = null;
|
||||
|
||||
CellStyle style = wb.createCellStyle();
|
||||
style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
style.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
style.setBorderRight(CellStyle.BORDER_THIN);
|
||||
style.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
// 정렬
|
||||
style.setAlignment(CellStyle.ALIGN_CENTER); //가운데 정렬
|
||||
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); //높이 가운데 정렬
|
||||
|
||||
Font font = wb.createFont();
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold
|
||||
|
||||
sheet.setColumnWidth(1, 5000); // 칼럼의 폭 조절
|
||||
sheet.setColumnWidth(4, 10000); // 칼럼의 폭 조절
|
||||
|
||||
try{
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
mjonMsgVO.setUserId(userId);
|
||||
|
||||
mjonMsgVO.setRecordCountPerPage(100000);
|
||||
mjonMsgVO.setFirstIndex(0);
|
||||
|
||||
if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
mjonMsgVO.setSearchSortCnd("regDate");
|
||||
mjonMsgVO.setSearchSortOrd("desc");
|
||||
}
|
||||
|
||||
List<MjonMsgVO> payUserList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO);
|
||||
{//화면 리스트
|
||||
|
||||
row = sheet.createRow(0);
|
||||
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,0,0)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,1,1)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,2,2)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,3,3)); //셀병합
|
||||
|
||||
|
||||
cell = row.createCell(0);
|
||||
cell.setCellValue("번호");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(1);
|
||||
cell.setCellValue("날짜");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(2);
|
||||
cell.setCellValue("문자유형");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(3);
|
||||
cell.setCellValue("발송건수");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(4);
|
||||
cell.setCellValue("내용");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
/*cell = row.createCell(5);
|
||||
cell.setCellValue("충전");
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(6);
|
||||
cell.setCellStyle(style);*/
|
||||
|
||||
cell = row.createCell(5);
|
||||
cell.setCellValue("사용");
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(6);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
|
||||
/*cell = row.createCell(9);
|
||||
cell.setCellValue("잔액");
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,0,9,10)); //셀병합
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(10);
|
||||
cell.setCellStyle(style);*/
|
||||
|
||||
row = sheet.createRow(1);
|
||||
|
||||
cell = row.createCell(0);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(1);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(2);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(3);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(4);
|
||||
cell.setCellStyle(style);
|
||||
|
||||
/*cell = row.createCell(5);
|
||||
cell.setCellValue("충전금");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(6);
|
||||
cell.setCellValue("포인트");
|
||||
cell.setCellStyle(style);*/
|
||||
|
||||
cell = row.createCell(5);
|
||||
cell.setCellValue("충전금");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(6);
|
||||
cell.setCellValue("포인트");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
/*cell = row.createCell(9);
|
||||
cell.setCellValue("충전금");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(10);
|
||||
cell.setCellValue("포인트");
|
||||
cell.setCellStyle(style);*/
|
||||
|
||||
DecimalFormat formatter = new DecimalFormat("###,###.##");
|
||||
String befCash = "";
|
||||
String befPoint = "";
|
||||
String totPrice = "";
|
||||
String thisPoint = "";
|
||||
|
||||
for(int i=0; i < payUserList.size(); i++) {
|
||||
|
||||
befCash = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getBefCash()));
|
||||
befPoint = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getBefPoint()));
|
||||
totPrice = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getTotPrice()));
|
||||
thisPoint = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getThisPoint()));
|
||||
|
||||
String msgType = "단문";
|
||||
if(payUserList.get(i).getMsgTypeTxt().equals("6") && payUserList.get(i).getFileCnt().equals("0")) {
|
||||
msgType = "장문";
|
||||
}else if(payUserList.get(i).getMsgTypeTxt().equals("6") && !payUserList.get(i).getFileCnt().equals("0")) {
|
||||
msgType = "그림";
|
||||
}else if(payUserList.get(i).getMsgTypeTxt().equals("8")) {
|
||||
msgType = "알림톡";
|
||||
}else if(payUserList.get(i).getMsgTypeTxt().equals("9")) {
|
||||
msgType = "친구톡";
|
||||
}else if(payUserList.get(i).getMsgTypeTxt().equals("fax")) {
|
||||
msgType = "팩스";
|
||||
}
|
||||
|
||||
int sendCount = ((MjonMsgVO)payUserList.get(i)).getSendCount();
|
||||
|
||||
|
||||
String sendSum = Integer.toString(sendCount);
|
||||
|
||||
if(payUserList.get(i).getMsgTypeTxt().equals("fax")) {
|
||||
sendSum = sendSum+"("+payUserList.get(i).getFileCnt()+")";
|
||||
}
|
||||
|
||||
row = sheet.createRow(i+2);
|
||||
for(int j=0 ; j < 7 ; j++) {
|
||||
cell = row.createCell(j);
|
||||
cell.setCellStyle(style);
|
||||
if(j==0) cell.setCellValue(i+1); //번호
|
||||
if(j==1) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getRegDate()); //결제일시
|
||||
if(j==2) cell.setCellValue(msgType); //문자유형
|
||||
if(j==3) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendCnt()); //발송건수
|
||||
if(j==4) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSmsTxt()); //내용
|
||||
if(j==5) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendPrice()); //충전 - 충전금
|
||||
if(j==6) cell.setCellValue(0); //충전 - 포인트
|
||||
/*if(j==7) cell.setCellValue(totPrice); //사용 - 충전금
|
||||
if(j==8) cell.setCellValue(0); //사용 - 포인트
|
||||
if(j==9) cell.setCellValue(thisPoint); //잔액 - 충전금
|
||||
if(j==10) cell.setCellValue(befPoint); //잔액 - 포인트
|
||||
*/ }
|
||||
}
|
||||
}
|
||||
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
|
||||
SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA );
|
||||
Date currentTime = new Date ();
|
||||
String mTime = mSimpleDateFormat.format ( currentTime );
|
||||
fileName = fileName+"("+mTime+")";
|
||||
|
||||
response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx"));
|
||||
wb.write(response.getOutputStream());
|
||||
}catch(Exception e) {
|
||||
response.setHeader("Set-Cookie", "fileDownload=false; path=/");
|
||||
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||
response.setHeader("Content-Type","text/html; charset=utf-8");
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = response.getOutputStream();
|
||||
byte[] data = new String("fail..").getBytes();
|
||||
out.write(data, 0, data.length);
|
||||
} catch(Exception ignore) {
|
||||
ignore.printStackTrace();
|
||||
} finally {
|
||||
if(out != null) try { out.close(); } catch(Exception ignore) {}
|
||||
}
|
||||
}finally {
|
||||
// 디스크 적었던 임시파일을 제거합니다.
|
||||
wb.dispose();
|
||||
try { wb.close(); } catch(Exception ignore) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 요금사용내역 - 카카오 테스트용
|
||||
* @param mjonMsgVO
|
||||
|
||||
@ -1518,6 +1518,8 @@ public class EgovUserManageController {
|
||||
|
||||
}
|
||||
|
||||
System.out.println("+++++++++++++++++++++++ prePaymentYn ::: "+mberManageVO.getPrePaymentYn());
|
||||
|
||||
return "cmm/uss/umt/EgovGnrlUserSelectUpdt";
|
||||
}
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ Globals.itn.recruit.template.url=http://localhost:8080/publish/email_form_itn_re
|
||||
#\uba54\uc77c \ubb38\uc758\ud558\uae30 \ud15c\ud50c\ub9bf URL
|
||||
Globals.itn.contact.us.template.url=http://localhost:8080/publish/email_form_itn_contact_us.html
|
||||
#\uba54\uc77c \uc218\uc2e0\uc790 \uc8fc\uc18c #TODO : \ucd94\ud6c4\uc5d0 \ubcc0\uacbd\ud574\uc57c\ud568
|
||||
Globals.itn.mail.to.address=leehoyoung250@daum.net
|
||||
Globals.itn.mail.to.address=rlaqhal6613@duam.net
|
||||
|
||||
|
||||
#\ube44\uc988\ubfcc\ub9ac\uc624 \uc124\uc815
|
||||
|
||||
@ -76,7 +76,7 @@ Globals.itn.recruit.template.url=https://www.munjaon.co.kr/publish/email_form_it
|
||||
#\uba54\uc77c \ubb38\uc758\ud558\uae30 \ud15c\ud50c\ub9bf URL
|
||||
Globals.itn.contact.us.template.url=https://www.munjaon.co.kr/publish/email_form_itn_contact_us.html
|
||||
#\uba54\uc77c \uc218\uc2e0\uc790 \uc8fc\uc18c
|
||||
Globals.itn.mail.to.address=phs1704@daum.net
|
||||
Globals.itn.mail.to.address=rlaqhal6613@duam.net
|
||||
#Globals.itn.mail.to.address=leehoyoung250@daum.net
|
||||
|
||||
#\ube44\uc988\ubfcc\ub9ac\uc624 \uc124\uc815
|
||||
|
||||
@ -3135,6 +3135,194 @@
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</select>
|
||||
|
||||
<!-- 사용자 요금 사용내역 리스트 -->
|
||||
<select id="mjonMsgDAO.selectPayUserSWList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
||||
SELECT
|
||||
COUNT(pay.totCnt) OVER() AS totCnt
|
||||
, pay.regDate AS regDate
|
||||
, pay.sendCount AS sendCount
|
||||
, pay.succSendCnt AS succSendCnt
|
||||
, pay.failSendCnt AS failSendCnt
|
||||
, pay.succSendPrice AS succSendPrice
|
||||
, pay.failSendPrice AS failSendPrice
|
||||
, pay.smsTxt AS smsTxt
|
||||
, pay.subject AS subject
|
||||
, pay.msgTypeTxt AS msgTypeTxt
|
||||
, pay.fileCnt AS fileCnt
|
||||
, pay.befCash AS befCash
|
||||
, pay.befPoint AS befPoint
|
||||
, pay.totPrice AS totPrice
|
||||
, pay.thisPoint AS thisPoint
|
||||
, pay.msgGroupId AS msgGroupId
|
||||
, pay.totalPrice AS totalPrice
|
||||
, pay.eachPrice AS eachPrice
|
||||
, pay.sentDate AS sentDate
|
||||
, pay.fileName1 AS fileName1
|
||||
, pay.fileName2 AS fileName2
|
||||
, pay.fileName3 AS fileName3
|
||||
, pay.orderByCode AS orderByCode
|
||||
, pay.msgId AS msgId
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
COUNT(M.regDate) OVER() AS totCnt
|
||||
, 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 )) * M.eachPrice AS failSendPrice
|
||||
, M.smsTxt AS smsTxt
|
||||
, M.subject AS subject
|
||||
, M.msgTypeTxt AS msgTypeTxt
|
||||
, M.msgKind AS msgKind
|
||||
, M.fileCnt AS fileCnt
|
||||
, M.befCash AS befCash
|
||||
, M.befPoint AS befPoint
|
||||
, ROUND((M.eachPrice * M.sendCount), 2) AS totPrice
|
||||
, (M.befCash - ROUND((M.eachPrice * M.sendCount), 2)) AS thisPoint
|
||||
, M.msgGroupId AS msgGroupId
|
||||
, M.totalPrice AS totalPrice
|
||||
, M.eachPrice AS eachPrice
|
||||
, M.sentDate AS sentDate
|
||||
, M.fileName1 AS fileName1
|
||||
, M.fileName2 AS fileName2
|
||||
, M.fileName3 AS fileName3
|
||||
, M.orderByCode AS orderByCode
|
||||
, M.msgId AS msgId
|
||||
FROM
|
||||
(SELECT
|
||||
DATE_FORMAT(B.REGDATE, '%Y-%m-%d %H:%i' ) AS regDate
|
||||
, B.MSG_GROUP_CNT AS sendCount
|
||||
, B.SMS_TXT AS smsTxt
|
||||
, B.SUBJECT AS subject
|
||||
, B.MSG_TYPE AS msgTypeTxt
|
||||
, B.MSG_KIND AS msgKind
|
||||
, B.FILE_CNT AS fileCnt
|
||||
, B.BEF_CASH AS befCash
|
||||
, B.BEF_POINT AS befPoint
|
||||
, B.TOT_PRICE AS totPrice
|
||||
, B.MSG_GROUP_ID AS msgGroupId
|
||||
, B.TOT_PRICE AS totalPrice
|
||||
, B.EACH_PRICE AS eachPrice
|
||||
, A.SENT_DATE AS sentDate
|
||||
, A.FILE_PATH1 AS fileName1
|
||||
, A.FILE_PATH2 AS fileName2
|
||||
, A.FILE_PATH3 AS fileName3
|
||||
, A.MSG_ID AS msgId
|
||||
, A.REQ_DATE AS reqDate
|
||||
, CASE
|
||||
WHEN B.MSG_TYPE = '6' AND B.FILE_CNT > 0
|
||||
THEN '3'
|
||||
WHEN B.MSG_TYPE = '6' AND B.FILE_CNT = 0
|
||||
THEN '2'
|
||||
ELSE '1'
|
||||
END orderByCode
|
||||
, (
|
||||
<include refid="MjonMsgSentDAO.selectAgentWithKakaoResultQuery_A"/>
|
||||
) AS RESULT
|
||||
<include refid="MjonMsgSentDAO.selectJoinQuery"/>
|
||||
AND A.USER_ID = #userId#
|
||||
AND B.USER_ID = #userId#
|
||||
AND B.RESERVE_C_YN = 'N'
|
||||
ORDER BY 1=1
|
||||
, msgGroupId DESC
|
||||
, sentDate DESC
|
||||
, msg_id DESC
|
||||
)M
|
||||
WHERE 1=1
|
||||
AND RESULT IN ('W', 'S', 'F')
|
||||
GROUP BY M.msgGroupId
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
COUNT(1) OVER () AS totCnt
|
||||
, DATE_FORMAT(pf.ReqDate, '%Y-%m-%d %H:%i' ) AS regDate
|
||||
, mjf.FAX_GROUP_CNT AS sendCount
|
||||
, SentEA AS succSendCnt
|
||||
, SentEA * mjf.EACH_PRICE AS succSendPrice
|
||||
, ErrorEA AS failSendCnt
|
||||
, ErrorEA * mjf.EACH_PRICE AS failSendPrice
|
||||
, "" AS smsTxt
|
||||
, mjf.SUBJECT AS subject
|
||||
, "fax" AS msgTypeTxt
|
||||
, "" AS msgKind
|
||||
, mjf.FAX_PAGE_CNT AS fileCnt
|
||||
, mjf.BEF_CASH AS befCash
|
||||
, mjf.BEF_POINT AS befPoint
|
||||
, ROUND((mjf.EACH_PRICE * mjf.FAX_PAGE_CNT * mjf.FAX_GROUP_CNT), 2) AS totPrice
|
||||
, (mjf.BEF_CASH - ROUND((mjf.EACH_PRICE * mjf.FAX_PAGE_CNT * mjf.FAX_GROUP_CNT), 2)) AS thisPoint
|
||||
, mjf.FAX_GROUP_ID AS msgGroupId
|
||||
, mjf.TOT_PRICE AS totalPrice
|
||||
, mjf.EACH_PRICE AS eachPrice
|
||||
, pf.SendDate AS sentDate
|
||||
, "" AS fileName1
|
||||
, "" AS fileName2
|
||||
, "" AS fileName3
|
||||
, "" AS orderByCode
|
||||
, pf.SEQ AS msgId
|
||||
FROM
|
||||
pgi_faxtran pf
|
||||
LEFT JOIN mj_fax_group_data mjf
|
||||
ON pf.seq = mjf.PGI_FAXTRAN_SEQ
|
||||
LEFT JOIN mj_fax_convert_mng mjc
|
||||
ON mjf.CONVERT_MNG_SEQ = mjc.CONVERT_MNG_SEQ
|
||||
WHERE 1 = 1
|
||||
AND pf.SentEA > 0
|
||||
AND mjf.USER_ID = #userId#
|
||||
|
||||
) AS pay
|
||||
WHERE 1=1
|
||||
|
||||
<isNotEmpty property="pageType">
|
||||
<isEqual property="pageType" compareValue="sms">
|
||||
AND pay.msgTypeTxt = '4'
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="lms">
|
||||
AND pay.msgTypeTxt = '6'
|
||||
AND pay.fileCnt = 0
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="mms">
|
||||
AND pay.msgTypeTxt = '6'
|
||||
AND pay.fileCnt != 0
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="cam">
|
||||
AND pay.msgKind = 'C'
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="at">
|
||||
AND pay.msgTypeTxt = '8'
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="ft">
|
||||
AND pay.msgTypeTxt = '9'
|
||||
</isEqual>
|
||||
<isEqual property="pageType" compareValue="fax">
|
||||
AND pay.msgTypeTxt = 'fax'
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="startDate">
|
||||
<![CDATA[
|
||||
AND DATE_FORMAT(pay.regDate, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||
]]>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="endDate">
|
||||
<![CDATA[
|
||||
AND DATE_FORMAT(pay.regDate, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
||||
]]>
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
<isNotEmpty property="searchSortCnd">
|
||||
,$searchSortCnd$
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchSortOrd">
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 사용자 요금 사용내역 Sum 리스트 -->
|
||||
<select id="mjonMsgDAO.selectPayUserSumList_bak" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
||||
SELECT
|
||||
|
||||
@ -1304,7 +1304,7 @@ function actionLogin() {
|
||||
<c:forEach var="resultListOne" items="${menuResultList}" varStatus="status">
|
||||
<c:if test="${resultListOne.depth eq '1' }">
|
||||
<c:choose>
|
||||
<c:when test="${fn:contains(resultListOne.url, '/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do')}">
|
||||
<c:when test="${fn:contains(resultListOne.url, '/web/mjon/msgcampain/selectMsgDataView.do')}">
|
||||
<li class="new">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
@ -1160,7 +1160,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
<button type="button" class="popup_close evntPayPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<%--
|
||||
<div class="layer_popup pointPop">
|
||||
<div class="layer_popup_cont">
|
||||
<a href="/web/mjon/custom/selectMsgCustomView.do" title="맞춤제작 링크 이동">
|
||||
@ -1172,8 +1172,8 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
<button type="button" class="popup_close pointPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="layer_popup pointPop">
|
||||
--%>
|
||||
<%-- <div class="layer_popup pointPop">
|
||||
<div class="layer_popup_cont">
|
||||
<a href="/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do" title="알림톡 링크 이동">
|
||||
<img src="/publish/images/main/popup_allimtalk_230712.jpg" alt="문자 ON 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 기업전용 / 1,000자 이하 텍스트&이미지 / 문자 대비 65% 저렴 카카오 '알림톡' 서비스 오픈! 알림톡 바로가기">
|
||||
@ -1183,7 +1183,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
<input type="checkbox" id="pointPop" name="pointPop" onclick="javascript:fnPopupChk('pointPop' , 'layer')"><label for="pointPop">3일간 열지 않음</label>
|
||||
<button type="button" class="popup_close pointPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -619,6 +619,12 @@ function fnMsgExcelDataView(){
|
||||
|
||||
}
|
||||
|
||||
function fnMsgTWDataView(){
|
||||
|
||||
location.href="/web/mjon/msgcampain/selectMsgTWDataView.do";
|
||||
|
||||
}
|
||||
|
||||
function fn_saveMyMsg(){ // 내 문자 보관함 저장
|
||||
|
||||
var form = document.msgForm;
|
||||
@ -2005,10 +2011,14 @@ function popScrCloseSetting(){
|
||||
<div class="send_top">
|
||||
<!-- tab button -->
|
||||
<ul class="tabType1">
|
||||
<li class="tab active"><button type="button" onclick="TabType1(this,'1');">단문 · 장문 · 그림 문자</button></li>
|
||||
<li class="tab active">
|
||||
<%-- <button type="button" onclick="TabType1(this,'1');">단문 · 장문 · 그림 문자</button> --%>
|
||||
<button type="button" onclick="TabType1(this,'1');">단체문자(자동동보문자)</button>
|
||||
</li>
|
||||
<li class="tab">
|
||||
<!-- <button type="button" onclick="TabType1(this,'2');">대량 문자(엑셀·TXT)</button> -->
|
||||
<button type="button" onclick="javascript:fnMsgExcelDataView(); return false;">단체문자(엑셀·TXT)</button>
|
||||
<%-- <button type="button" onclick="TabType1(this,'2');">대량 문자(엑셀·TXT)</button> --%>
|
||||
<%-- <button type="button" onclick="javascript:fnMsgExcelDataView(); return false;">단체문자(엑셀·TXT)</button> --%>
|
||||
<button type="button" onclick="javascript:fnMsgTWDataView(); return false;">20건 문자(수동문자)</button>
|
||||
</li>
|
||||
</ul><!--// tab button -->
|
||||
<!-- tab content1 -->
|
||||
|
||||
@ -24,8 +24,6 @@
|
||||
$("#sendReady").text(0);
|
||||
$("#callSeq").val(0);
|
||||
|
||||
//docuReload();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -11,6 +11,13 @@
|
||||
<!-- -->
|
||||
<script type="text/javascript" src="<c:url value='/publish/js/publish.js'/>"></script>
|
||||
|
||||
<style>
|
||||
/* .send_top .send_right .phone_bottom{display:flex;align-items:center;} */
|
||||
.send_top .send_right .send_rev{margin:0 !important;}
|
||||
.send_top .send_right .phone_bottom{bottom:130px;}
|
||||
.send_top .send_right .send_rev .send_content{padding:0 !important;;}
|
||||
</style>
|
||||
|
||||
<% pageContext.setAttribute("newLineChar", "\r\n"); %>
|
||||
<script type="text/javascript">
|
||||
var tableErrorData = [];
|
||||
@ -276,9 +283,7 @@ $("#excelAdd").click(function(){
|
||||
function addTWCallToInfo(){
|
||||
|
||||
var callSeq = $("#callSeq").val();
|
||||
|
||||
var sendData = $(document.callToForm).serializeArray();
|
||||
|
||||
$("#twCallToList").load("/web/mjon/msgcampain/selectMsgTWCallToListAjax.do", sendData ,function(response, status, xhr){
|
||||
|
||||
$(document).ready(function () {
|
||||
@ -1831,14 +1836,16 @@ $(document).ready(function (){
|
||||
//즉시 발송 라디오 버튼 선택시 숨김처리
|
||||
$("#reserYnN").on('click', function(){
|
||||
$('.rev_selected').hide();
|
||||
$('.send_rev .send_content').css('padding-bottom','108px');
|
||||
//$('.send_rev .send_content').css('padding-bottom','108px');
|
||||
$(".send_top .send_right .phone_bottom").css("bottom","130px");
|
||||
$('.send_btn .btnType:first-child').html('발송하기');
|
||||
});
|
||||
|
||||
//예약 발송 라디오 버튼 선택시 숨김 해제처리
|
||||
$("#reserYnY").on('click', function(){
|
||||
$('.rev_selected').show();
|
||||
$('.send_rev .send_content').css('padding-bottom','0');
|
||||
/* $('.send_rev .send_content').css('padding-bottom','0'); */
|
||||
$(".send_top .send_right .phone_bottom").css("bottom","64px");
|
||||
$('.send_btn .btnType:first-child').html('예약하기');
|
||||
});
|
||||
|
||||
@ -4065,7 +4072,7 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<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>
|
||||
|
||||
@ -1685,6 +1685,7 @@ function sendMsgAjax(paramSmsCnt, paramBlockCnt){
|
||||
$("#totalPriceTxt").text("0");
|
||||
|
||||
//받는사람 리스트 새로 갱신해주기
|
||||
document.callToForm.pageIndex.value = 1;
|
||||
addTWCallToInfo();
|
||||
|
||||
}
|
||||
|
||||
@ -184,6 +184,8 @@ function fnShowRefundPrintPopup(){
|
||||
</div>
|
||||
<div class="pay_tab_wrap">
|
||||
<!-- tab button -->
|
||||
<c:choose>
|
||||
<c:when test="${prePaymentYn eq 'Y'}">
|
||||
<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"><button type="button" onclick="TabType5(this,'2');listLoad('/web/member/pay/PayListSPayAjax.do'); return false;">간편결제 결제내역</button></li>
|
||||
@ -194,6 +196,16 @@ function fnShowRefundPrintPopup(){
|
||||
<li class="tab"><button type="button" onclick="TabType5(this,'6');listLoad('/web/member/pay/PayListPointAjax.do'); return false;">포인트 교환내역</button></li>
|
||||
<li class="tab"><button type="button" id="tab6" onclick="TabType5(this,'7');listLoad('/web/member/pay/PayListRefundAjax.do'); return false;">환불신청</button></li>
|
||||
</ul>
|
||||
</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"><button type="button" onclick="TabType5(this,'6');listLoad('/web/member/pay/PayListPointAjax.do'); return false;">포인트 교환내역</button></li>
|
||||
</ul>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
|
||||
<!--// tab button -->
|
||||
</div>
|
||||
<div id="payLoad"></div>
|
||||
|
||||
@ -289,7 +289,7 @@ function fnShowPdfPrintPopup(){
|
||||
<p>친구톡</p>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
<p>펙스</p>
|
||||
<p>팩스</p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p>단문</p>
|
||||
|
||||
399
src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWList.jsp
Normal file
@ -0,0 +1,399 @@
|
||||
<%--
|
||||
Class Name : SendNumberList.jsp
|
||||
Description : 발신번호 리스트 조회 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.03.31 신명섭 최초 생성
|
||||
|
||||
Copyright (C) 2009 by ITN All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script>
|
||||
var thisYearStart = "";
|
||||
var thisYearEnd = "";
|
||||
var lastfulstday = "";
|
||||
var lastfuledday = "";
|
||||
var thisfulstlday = "";
|
||||
var thisfuledtlday = "";
|
||||
$(document).ready(function(){
|
||||
payUserListAjax(1);
|
||||
var date = new Date() ;
|
||||
//이전달 첫날/마지막날 조회
|
||||
if(date.getMonth()+1 == 1){
|
||||
lastfulstday = date.getFullYear()-1 + "/12" + "/01";
|
||||
lastfuledday = date.getFullYear()-1 + "/12" + "/"+new Date(date.getFullYear()-1, 12, 0);
|
||||
}else{
|
||||
lastfulstday = date.getFullYear() + "/" ;
|
||||
lastfulstday += date.getMonth() < 10 ? "0"+ (date.getMonth()) : date.getMonth()+"" ;
|
||||
lastfuledday = lastfulstday + "/"+ new Date(date.getFullYear(), date.getMonth(), 0).getDate()+"" ;
|
||||
lastfulstday += "/01" ;
|
||||
}
|
||||
|
||||
//당월 첫날/마지막날 조회
|
||||
thisfulstlday = date.getFullYear() + "/" ;
|
||||
thisfulstlday += date.getMonth()+1 < 10 ? "0"+ (date.getMonth()+1) : date.getMonth()+1+"" ;
|
||||
thisfuledtlday = thisfulstlday + "/"+ new Date(date.getFullYear(), date.getMonth()+1, 0).getDate()+"";
|
||||
thisfulstlday += "/01" ;
|
||||
|
||||
thisYearStart = date.getFullYear() + "/01/01" ;
|
||||
thisYearEnd = date.getFullYear() + "/12/31" ;
|
||||
|
||||
});
|
||||
|
||||
// 기간 요일 지정
|
||||
function setCalVal(val,targetObj){
|
||||
$('input[name='+targetObj+']').val(val) ;
|
||||
}
|
||||
|
||||
// 요금사용내역 리스트
|
||||
function payUserListAjax(pageNo){
|
||||
document.listForm.pageIndex.value = pageNo;
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
|
||||
function payUserTab(obj, pageType){
|
||||
|
||||
var $tab = $(obj).closest("li");
|
||||
$tab.addClass("active");
|
||||
$tab.find("button").attr("title", "선택됨");
|
||||
$tab.siblings("li.tab").removeClass("active");
|
||||
$tab.siblings("li.tab").find("button").removeAttr("title");
|
||||
|
||||
$("#pageType").val(pageType);
|
||||
payUserListAjax(1);
|
||||
}
|
||||
|
||||
/* 윈도우팝업 열기 */
|
||||
function infoPop(pageUrl){
|
||||
document.infoPopForm.pageType.value = pageUrl;
|
||||
document.infoPopForm.action = "/web/pop/infoPop.do";
|
||||
document.infoPopForm.method = "post";
|
||||
window.open("about:blank", 'infoPop', 'width=790, height=250, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
|
||||
document.infoPopForm.target = "infoPop";
|
||||
document.infoPopForm.submit();
|
||||
}
|
||||
|
||||
//상세보기 버튼 실행
|
||||
function fnRevDetailPop(msgGroupId, fileCnt){
|
||||
|
||||
document.resPopForm.msgGroupId.value = msgGroupId;
|
||||
var sendData = $(document.resPopForm).serializeArray();
|
||||
|
||||
$("#resvMsgDetailPopLoad").load("/web/member/pay/selectPayUserMsgDetailDataAjax.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//상세보기 버튼 실행
|
||||
function fnRevDetailPop02(msgGroupId){
|
||||
document.resPopForm.msgGroupId.value = msgGroupId;
|
||||
var sendData = $(document.resPopForm).serializeArray();
|
||||
|
||||
// 전송건별
|
||||
$("#msgSentDetailPopLoad").load("/web/kakao/sent/selectKakaoSentDetailDataAjax.do", sendData ,function(response, status, xhr){
|
||||
// 상세보기 클릭때마다 툴팁 1 tab이 열리게 설정
|
||||
popupTab($('#atBtn'),'1');
|
||||
$('#kakaoClick').trigger('click');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//상세보기 버튼 실행
|
||||
function fnRevDetailPop03(msgGroupId){
|
||||
document.faxPopForm.faxGroupId.value = msgGroupId;
|
||||
var sendData = $(document.faxPopForm).serializeArray();
|
||||
// 전송건별
|
||||
$("#faxSentDetailPopLoad").load("/web/mjon/fax/faxSendListAjax.do", sendData ,function(response, status, xhr){
|
||||
// 상세보기 클릭때마다 툴팁 1 tab이 열리게 설정
|
||||
// popupTab($('#atBtn'),'1');
|
||||
$('#faxClick').trigger('click');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<!-- 문자내용 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer rev_popup01" tabindex="0" data-tooltip-con="rev_popup01"
|
||||
data-focus="rev_popup01" data-focus-prev="rev_popup01-close" style="width: 440px;">
|
||||
<div class="popup_heading">
|
||||
<p>문자내용</p>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup01-close">
|
||||
<img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기">
|
||||
</button>
|
||||
</div>
|
||||
<div class="layer_in" id="resvMsgDetailPopLoad">
|
||||
<div class="popup_btn_wrap2" style="justify-content: center;">
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 문자내용 팝업 -->
|
||||
|
||||
<!-- 카카오 알림톡 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer kakao_rev_popup rev_popup02" tabindex="0" data-tooltip-con="rev_popup02"
|
||||
data-focus="rev_popup02" data-focus-prev="rev_popup02-close" style="width: 440px;">
|
||||
<div class="popup_heading">
|
||||
<p>카카오 내용</p>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup02-close">
|
||||
<img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기">
|
||||
</button>
|
||||
</div>
|
||||
<div class="layer_in">
|
||||
|
||||
<!-- 팝업 상세내용 노출 -->
|
||||
<div id="msgSentDetailPopLoad" >
|
||||
</div>
|
||||
<div class="popup_btn_wrap2" style="justify-content: center;">
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup02-close"
|
||||
data-focus-next="rev_popup02">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //카카오 알림톡 팝업 -->
|
||||
|
||||
<!-- 펙스 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer fax_rev_popup rev_popup03" tabindex="0" data-tooltip-con="rev_popup03"
|
||||
data-focus="rev_popup03" data-focus-prev="rev_popup03-close" style="width: 800px;">
|
||||
<div class="popup_heading">
|
||||
<p>펙스 내용</p>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup03-close">
|
||||
<img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기">
|
||||
</button>
|
||||
</div>
|
||||
<div class="layer_in">
|
||||
|
||||
<!-- 팝업 상세내용 노출 -->
|
||||
<div id="faxSentDetailPopLoad" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //펙스 팝업 -->
|
||||
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
<!-- tab button -->
|
||||
<ul class="tabType4">
|
||||
<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 active"><button type="button">요금 사용내역</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>
|
||||
</ul>
|
||||
<!-- 결제관리 - 요금 사용내역 -->
|
||||
<div class="serv_content current" id="tab5_4">
|
||||
<div class="heading">
|
||||
<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">
|
||||
<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="history_details">
|
||||
<p class="tType1_title"><img src="/publish/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>
|
||||
<c:set var="sandSum" value="0"/>
|
||||
<c:forEach var="sendToInfo" items="${sendTotList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${sendToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${sendToInfo.msgType eq 'fax' && sendToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${sendToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="sandSum" value="${sandSum + sendToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${sandSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>예약건수</td>
|
||||
<c:set var="reservSum" value="0"/>
|
||||
<c:forEach var="reservToInfo" items="${reservToList}" varStatus="status">
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservToInfo.totCnt}" pattern="" />
|
||||
<c:if test="${reservToInfo.msgType eq 'fax' && reservToInfo.fileCnt ne '0'}">
|
||||
(<c:out value="${reservToInfo.fileCnt }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
<c:set var="reservSum" value="${reservSum + reservToInfo.totCnt}"/>
|
||||
</c:forEach>
|
||||
<td>
|
||||
<fmt:formatNumber value="${reservSum}" pattern="" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" id="pageType" name="pageType" value="<c:out value='${searchVO.pageType}'/>"/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
||||
<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" title="검색 시작일" id="startDate" name="startDate" value="" data-datecontrol="true">
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="" data-datecontrol="true">
|
||||
</div>
|
||||
<button type="button" onclick="setCalVal(thisYearStart,'startDate');setCalVal( thisYearEnd,'endDate'); return false;" class="btnType btnType19">이번년도</button>
|
||||
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button>
|
||||
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button>
|
||||
<button type="button" class="btnType6" onclick="payUserListAjax(1); return false;">조회</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="payUserTab(this,'');">전체</button></li>
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'sms');">단문</button></li>
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'lms');">장문</button></li>
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'mms');">그림</button></li>
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'cam');">선거</button></li>
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'at');">알림톡</button></li>
|
||||
<!-- <li class="tab"><button type="button" onclick="payUserTab(this,'ft');">친구톡</button></li> -->
|
||||
<li class="tab"><button type="button" onclick="payUserTab(this,'fax');">팩스</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
</div>
|
||||
<div id="payUserListLoad">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<!-- 결제관리 - 요금 사용내역 -->
|
||||
</div>
|
||||
</div>
|
||||
<!--// send top -->
|
||||
</div>
|
||||
<form name="infoPopForm" id="infoPopForm" method="post">
|
||||
<input type="hidden" name="pageType" id="pageType" value=""/>
|
||||
</form>
|
||||
<form id="resPopForm" name="resPopForm" method="post">
|
||||
<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
|
||||
<input type="hidden" id="fileCnt" name="fileCnt" value=""/>
|
||||
</form>
|
||||
<form id="faxPopForm" name="faxPopForm" method="post">
|
||||
<input type="hidden" id="faxGroupId" name="faxGroupId" value=""/>
|
||||
</form>
|
||||
433
src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp
Normal file
@ -0,0 +1,433 @@
|
||||
<%--
|
||||
Class Name : SendNumberList.jsp
|
||||
Description : 발신번호 리스트 조회 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.03.31 신명섭 최초 생성
|
||||
|
||||
Copyright (C) 2009 by ITN All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script src="/publish/js/content.js"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
/* 목록 정렬 항목 아이콘 표시 */
|
||||
var searchSortCnd = $("[name='searchSortCnd']").val();
|
||||
var searchSortOrd = $("[name='searchSortOrd']").val();
|
||||
if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) {
|
||||
var $sort_div = $("#sort_"+ searchSortCnd);
|
||||
var sortClass = 'sortBtn' ;
|
||||
if (searchSortOrd == "desc") sortClass = "sortBtnDesc";
|
||||
$sort_div.replaceClass('sortBtn' , sortClass) ;
|
||||
$sort_div.attr("sortOrd", searchSortOrd);
|
||||
};
|
||||
|
||||
// 정렬 항목 이벤트
|
||||
$(".sort").click(function(e) {
|
||||
listSortOrd(this);
|
||||
});
|
||||
|
||||
//목록 정렬 항목 클릭
|
||||
function listSortOrd(obj){
|
||||
var sortOrd = $(obj).attr("sortOrd");
|
||||
var sortCnd = $(obj).attr("id");
|
||||
|
||||
$("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거
|
||||
if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc");
|
||||
else $("[name='searchSortOrd']").val("desc");
|
||||
payUserListAjax('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨
|
||||
};
|
||||
|
||||
//프린트 워커 마크
|
||||
/* $('.print_btn').click(function(e){
|
||||
if(!confirm("프린트 하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
var printPopup ;
|
||||
printPopup= window.open("/tempPayPrint.html","print_open","width=760,height=750,top=0,left=0,noresizable,toolbar=no,status=no,scrollbars=yes,directory=n");
|
||||
}); */
|
||||
|
||||
// PDF 다운버튼
|
||||
$('.pdf_btn').click(function(e){
|
||||
if(!confirm("PDF저장 하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
//엑셀 다운버튼
|
||||
$('.excel_btn').click(function(e){
|
||||
if(!confirm("엑셀 다운로드를 하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
|
||||
var frm = document.listForm;
|
||||
frm.method = "post";
|
||||
frm.action = "/web/member/pay/PayUserSWListExcelDownload.do";
|
||||
frm.submit();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
|
||||
function fnShowPrintPopup() {
|
||||
//만들려는 팝업의 크기
|
||||
var url = "";
|
||||
var popup_wid = '830';
|
||||
var popup_ht = '800';
|
||||
var popup_left = (window.screen.width/2)-(popup_wid/2);
|
||||
var popup_top =(window.screen.height/2)-(popup_ht/2);
|
||||
|
||||
if($('input[name=publish]').is(':checked')){
|
||||
if($('input[name=publish]:checked').val() == 'statement'){
|
||||
url = "printMsgStatementAjax.do";
|
||||
}else{
|
||||
url = "printMsgUsageDetailsAjax.do";
|
||||
}
|
||||
}else{
|
||||
alert('거래명세서, 사용내역서중\n발급 받으시려는 항목을 체크 후 눌러주세요.');
|
||||
return;
|
||||
}
|
||||
|
||||
//날자 체크
|
||||
if(($('#startDate').val() != '' && $('#endDate').val() == '') || ($('#startDate').val() == '' && $('#endDate').val() != '')){
|
||||
alert("기간설정을 정상적으로 선택해 주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
if( $('#startDate').val() != '' && $('#endDate').val() != '' ){
|
||||
var iChkBeginDe = Number($('#startDate').val().replaceAll("/", ""));
|
||||
var iChkEndDe = Number($('#endDate').val().replaceAll("/", ""));
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다.");
|
||||
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');
|
||||
document.listForm.target = "printPop";
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
|
||||
function fnShowPrintPopup_OLD() {
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '830';
|
||||
var popup_ht = '800';
|
||||
|
||||
var popup_left = (window.screen.width/2)-(popup_wid/2);
|
||||
var popup_top =(window.screen.height/2)-(popup_ht/2);
|
||||
|
||||
if($('input[name=publish]').is(':checked')){
|
||||
if($('input[name=publish]:checked').val() == 'statement'){
|
||||
window.open('printMsgStatementAjax.do', 'reservMsgPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
|
||||
}else{
|
||||
window.open('printMsgUsageDetailsAjax.do', 'reservMsgPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
|
||||
}
|
||||
}else{
|
||||
alert('거래명세서, 사용내역서중\n발급 받으시려는 항목을 체크 후 눌러주세요.');
|
||||
}
|
||||
}
|
||||
|
||||
function fnPayUserPrintPopup(){
|
||||
|
||||
//날자 체크
|
||||
if( $('#startDate').val() != '' && $('#endDate').val() != '' ){
|
||||
var iChkBeginDe = Number($('#startDate').val().replaceAll("/", ""));
|
||||
var iChkEndDe = Number($('#endDate').val().replaceAll("/", ""));
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '840';
|
||||
var popup_ht = '900';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
|
||||
$("#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();
|
||||
}
|
||||
|
||||
//환불요청 내역 프린트 출력 팝업
|
||||
function fnShowPdfPrintPopup(){
|
||||
|
||||
//날자 체크
|
||||
if( $('#startDate').val() != '' && $('#endDate').val() != '' ){
|
||||
var iChkBeginDe = Number($('#startDate').val().replaceAll("/", ""));
|
||||
var iChkEndDe = Number($('#endDate').val().replaceAll("/", ""));
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '840';
|
||||
var popup_ht = '900';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
|
||||
$("#listForm").attr("target","msgSentPdfPrint");
|
||||
window.open('', 'msgSentPdfPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
||||
$("#listForm").attr({"action":"/web/member/pay/PayPdfSWListPopUpAjax.do", "method":"post"}).submit();
|
||||
}
|
||||
|
||||
//체크박스 전체선택/해제
|
||||
/* $(document).on("click", "#chkAll", function(e) {
|
||||
var isChecked = $(this).is(":checked");
|
||||
$("input[name=eachChk]:checkbox").prop("checked", isChecked);
|
||||
}); */
|
||||
|
||||
</script>
|
||||
<input type="button" id="faxClick" data-tooltip="rev_popup03" style="display:none;"/>
|
||||
<input type="button" id="kakaoClick" data-tooltip="rev_popup02" style="display:none;"/>
|
||||
<div class="pay_cont current" id="listTab2_1">
|
||||
<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>
|
||||
<div>
|
||||
<button type="button" class="print_btn" onclick="javascript:fnPayUserPrintPopup();">
|
||||
<i class="print_img"></i>인쇄하기
|
||||
</button>
|
||||
<button type="button" class="pdf_btn" onclick="javascript:fnShowPdfPrintPopup();">
|
||||
<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: 5%;"> --%>
|
||||
<col style="width: *%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
<%-- <col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;"> --%>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<%-- <th rowspan="2">
|
||||
<label for="" class="label">전체 선택</label>
|
||||
<input type="checkbox" id="chkAll">
|
||||
</th> --%>
|
||||
<th rowspan="2">
|
||||
발송일시
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_regDate">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">
|
||||
문자유형
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_orderByCode">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">내용</th>
|
||||
<th rowspan="2">발송건수</th>
|
||||
<!-- <th colspan="2">충전</th>
|
||||
<th colspan="2">사용</th>
|
||||
<th colspan="2">잔액</th> -->
|
||||
<th colspan="2">사용</th>
|
||||
<!-- <th>반환(실패)</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 payUserSWList}">
|
||||
<c:forEach var="payUserInfo" items="${payUserSWList}" varStatus="status">
|
||||
<tr>
|
||||
<%-- <td>
|
||||
<label for="" class="label">선택</label>
|
||||
<input type="checkbox" name="eachChk">
|
||||
</td> --%>
|
||||
<td>
|
||||
<p><c:out value="${payUserInfo.regDate}"/></p>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt eq 0 }">
|
||||
<p>장문</p>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '6' && payUserInfo.fileCnt ne 0 }">
|
||||
<p>그림</p>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '8'}">
|
||||
<p>알림톡</p>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '9'}">
|
||||
<p>친구톡</p>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
<p>팩스</p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p>단문</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '8'}">
|
||||
<button class="btnType btnType20" onClick="javascript:fnRevDetailPop02('${payUserInfo.msgGroupId}'); return false;">상세보기</button>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq '9'}">
|
||||
<button class="btnType btnType20" onClick="javascript:fnRevDetailPop02('${payUserInfo.msgGroupId}'); return false;">상세보기</button>
|
||||
</c:when>
|
||||
<c:when test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
<button class="btnType btnType20" onClick="javascript:fnRevDetailPop03('${payUserInfo.msgGroupId}'); return false;">상세보기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${payUserInfo.msgGroupId}','${payUserInfo.fileCnt}'); return false;">상세보기</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="fwRg c_002c9a">
|
||||
|
||||
<c:out value="${payUserInfo.succSendCnt}"/>
|
||||
<c:if test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
(<c:out value="${payUserInfo.fileCnt}"/>매)
|
||||
</c:if>
|
||||
/ <c:out value="${payUserInfo.failSendCnt}"/>
|
||||
<%-- <c:out value="${payUserInfo.sendCount}"/>
|
||||
<c:if test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
(<c:out value="${payUserInfo.fileCnt}"/>)
|
||||
</c:if> --%>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.succSendPrice}" var="succCash" />
|
||||
<c:out value="${succCash}"/>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<%-- <fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" />
|
||||
<c:out value="${befPoint}"/> --%>
|
||||
0
|
||||
</p>
|
||||
</td>
|
||||
<%-- <td>
|
||||
<p class="fwRg c_002c9a">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.failSendPrice}" var="failPrice" />
|
||||
<c:out value="${failPrice}"/>
|
||||
</p>
|
||||
</td> --%>
|
||||
<!-- <td>
|
||||
<p class="fwRg c_002c9a">
|
||||
0
|
||||
</p>
|
||||
</td> -->
|
||||
<%-- <td>
|
||||
<p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befCash}" var="befCash" />
|
||||
<c:out value="${befCash}"/>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" />
|
||||
<c:out value="${befPoint}"/>
|
||||
</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">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befPoint}" var="befPoint" />
|
||||
<c:out value="${befPoint}"/>
|
||||
</p>
|
||||
</td> --%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
검색 결과가 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="publish_btn clearfix">
|
||||
<div>
|
||||
<input type="radio" name="publish" id="publish1" value="statement">
|
||||
<label for="publish1">거래명세서</label>
|
||||
<input type="radio" name="publish" id="publish2" value="details">
|
||||
<label for="publish2">사용내역서</label>
|
||||
</div>
|
||||
<div>
|
||||
<c:choose>
|
||||
<c:when test="${not empty payUserSWList}">
|
||||
<button type="button" class="btnType" onclick="fnShowPrintPopup(); return false;">발행하기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType" onclick="alert('거래명세서, 사용내역서 발행할 요금사용내역이 없습니다.');">발행하기</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- pagination -->
|
||||
<c:if test="${!empty payUserSWList}">
|
||||
<ul class="pagination">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="payUserListAjax" />
|
||||
</ul>
|
||||
</c:if>
|
||||
<!-- pagination -->
|
||||
</div><!-- 결제관리 - 요금 사용내역 -->
|
||||
@ -0,0 +1,270 @@
|
||||
<%@ 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">
|
||||
<script type="text/javascript" src="/publish/js/jquery-3.5.0.js"></script>
|
||||
<script type="text/javascript" src="/js/jsPdf/bluebird.min.js"></script>
|
||||
<script type="text/javascript" src="/js/jsPdf/html2canvas.js"></script>
|
||||
<script type="text/javascript" src="/js/jsPdf/jspdf.min.js"></script>
|
||||
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.savePdf').click(function() { // pdf저장 button id
|
||||
|
||||
var HTML_Width = $(".pdfPage").width();
|
||||
var HTML_Height = $(".pdfPage").height();
|
||||
var top_left_margin = 15;
|
||||
var PDF_Width = HTML_Width+(top_left_margin*2);
|
||||
var PDF_Height = (PDF_Width*1.5)+(top_left_margin*2);
|
||||
var canvas_image_width = HTML_Width;
|
||||
var canvas_image_height = HTML_Height;
|
||||
|
||||
var totalPDFPages = Math.ceil(HTML_Height/PDF_Height)-1;
|
||||
|
||||
//이미지 생성시 스크롤이 있는경우 스크롤을 상단으로 이동 시킨 후 캡쳐를 진행하도록 한다.
|
||||
html2canvas($(".pdfPage")[0],{allowTaint:true,
|
||||
scrollX: 0,
|
||||
scrollY: -window.scrollY,
|
||||
windowWidth: document.documentElement.offsetWidth,
|
||||
windowHeight: document.documentElement.offsetHeight}).then(function(canvas) {
|
||||
canvas.getContext('2d');
|
||||
|
||||
var imgData = canvas.toDataURL("image/jpeg", 1.0);
|
||||
var pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);
|
||||
pdf.addImage(imgData, 'JPG', top_left_margin, top_left_margin,canvas_image_width,canvas_image_height);
|
||||
|
||||
//1페이지 이상인 경우 추가 페이지 처리
|
||||
if(totalPDFPages >= 1){
|
||||
for (var i = 1; i <= totalPDFPages; i++) {
|
||||
pdf.addPage(PDF_Width, PDF_Height);
|
||||
pdf.addImage(imgData, 'JPG', top_left_margin, -(PDF_Height*i)+(top_left_margin*4),canvas_image_width,canvas_image_height);
|
||||
}
|
||||
}
|
||||
|
||||
var strDate = nowDate();
|
||||
pdf.save('요금 사용내역_' + strDate + '.pdf');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
//현재 날짜를 반환해주는 함수
|
||||
function nowDate(){
|
||||
var today = new Date();
|
||||
var year = today.getFullYear();
|
||||
var month = today.getMonth() + 1; //월은 0부터 시작하므로 1을 더해준다.
|
||||
var day = today.getDate();
|
||||
var nowDate = year + "" + month+ "" + day;
|
||||
return nowDate;
|
||||
}
|
||||
|
||||
</script>
|
||||
<body>
|
||||
<!-- 견적서 -->
|
||||
<div class="estimate_wrap pdfPage" id="pdfPage">
|
||||
<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> 님의 사용내역을 아래와 같이 확인합니다.
|
||||
</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><span style="position:relative;display:block;top:17px;background:#f2f2f2;">날짜</span></th>
|
||||
<th><span style="position:relative;display:block;top:17px;background:#f2f2f2;">문자유형</span></th>
|
||||
<th><span style="position:relative;display:block;top:17px;background:#f2f2f2;">발송건수</span></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>
|
||||
<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>
|
||||
<%-- <c:out value="${payUserInfo.sendCount}"/>
|
||||
<c:if test="${payUserInfo.msgTypeTxt eq 'fax'}">
|
||||
(<c:out value="${payUserInfo.fileCnt}"/>)
|
||||
</c:if> --%>
|
||||
</td>
|
||||
<%-- <td>
|
||||
<p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${payUserInfo.befCash}" var="befCash" />
|
||||
<c:out value="${befCash}"/>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<c:out value="${payUserInfo.befPoint}"/>
|
||||
</p>
|
||||
</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_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> 년 <span><c:out value="${month}"/></span> 월 <span><c:out value="${day}"/></span> 일</p>
|
||||
<div>
|
||||
<span>주식회사 아이티앤 대표이사</span>
|
||||
<span>유 인 식</span>
|
||||
<span class="big_stamp"><img src="/publish/images/content/big_stamp.png"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="est_btn_wrap" id="est_btn_wrap">
|
||||
<button type="button" class="btnType savePdf" ><i class="print_img"></i>pdf저장</button>
|
||||
</div>
|
||||
<!--// 견적서 -->
|
||||
</body>
|
||||
</html>
|
||||
@ -11,7 +11,7 @@
|
||||
<meta name="Keywords" content="문자사이트, 대량문자, 단체문자, 문자발송, 문자전송, 인터넷문자, 단체문자사이트, 대량문자발송, 문자보내기, 단체문자발송">
|
||||
<meta name="description" content="LMS문자,MMS문자,WEB발신,인터넷,컴퓨터로 문자메세지보내기,웹발신문자,문자서비스,대량문자전송,단체문자보내기">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="문자온">
|
||||
<meta property="og:title" content="문자온 인터넷 웹문자 단체문자 대량문자발송 사이트">
|
||||
<meta property="og:description" content="LMS문자,MMS문자,WEB발신,인터넷,컴퓨터로 문자메세지보내기,웹발신문자,문자서비스,대량문자전송,단체문자보내기">
|
||||
<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">
|
||||
|
||||
66
src/main/webapp/publish/publish_m/css/reset.css
Normal file
@ -0,0 +1,66 @@
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 100%;
|
||||
vertical-align: baseline;
|
||||
background: transparent;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
font-family: 'Noto Sans KR', sans-serif;
|
||||
color: #222222;
|
||||
font-size: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
|
||||
/* remember to define focus styles! */
|
||||
:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* remember to highlight inserts somehow! */
|
||||
ins {
|
||||
text-decoration: none;
|
||||
}
|
||||
del {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* tables still need 'cellspacing="0"' in the markup */
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
/* 여기어때 잘난체 */
|
||||
@font-face {
|
||||
font-family: 'yg-jalnan';
|
||||
src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.2/JalnanOTF00.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Noto Sans KR */
|
||||
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script&family=Lora&family=Noto+Sans+KR:wght@100;400;700&display=swap');
|
||||
/*font-family: 'Noto Sans KR', sans-serif;*/
|
||||
116
src/main/webapp/publish/publish_m/css/style.css
Normal file
@ -0,0 +1,116 @@
|
||||
@charset "utf-8";
|
||||
html{scroll-behavior: smooth; min-width: 280px; margin: 0 auto;}
|
||||
|
||||
*{margin: 0; padding: 0; word-break: keep-all; max-width: 1024px;}
|
||||
a{text-decoration: none;color: #222222;}
|
||||
|
||||
|
||||
.con_wrap{background-color: #f0f3f7; letter-spacing: -0.5px;}
|
||||
/*header*/
|
||||
header .inner{position: absolute; padding: 7px 20px; background-color: #fff; border-radius: 0 0 30px 0;}
|
||||
header .inner a{display: flex; align-items: center;}
|
||||
header .inner a p{font-size: 26px; font-weight: 300; padding: 0 0 0 20px;}
|
||||
|
||||
/*메인비주얼*/
|
||||
.visual{background-image: url(/publish/publish_m/img/main_bg_big.png); background-repeat: no-repeat; /*background-position: calc(100% - 30px) 0;*/ background-color: #0b4aa7; width: 100%; border-radius: 0 0 35px 0; text-align: center;}
|
||||
.visual .inner h2{padding: 110px 0 25px 0; font-family: 'yg-jalnan'; font-size: 60px; color: #fff; line-height: 74px;}
|
||||
.visual .inner h2 span{color: #ffe329;}
|
||||
.visual .inner .button{display: inline-block;}
|
||||
.visual .inner .button a p{margin: 0 auto; width: 340px; height: 74px;border: 2px solid #cec442; border-radius: 50px; font-size: 30px; font-family: 'yg-jalnan'; color: #ffe329; line-height: 74px;}
|
||||
.visual .inner .button a p span{font-family: 'Noto Sans KR', sans-serif; font-weight: 500;}
|
||||
|
||||
/*메인비주얼 > 요금표*/
|
||||
.visual .price .text{font-size: 18px; color: #fff; font-weight: 300;}
|
||||
.visual .price .text01{padding: 38px 20px 10px 0; text-align: right; opacity: 40%;}
|
||||
.visual .price .text02{padding: 10px 0 25px 20px; text-align: left; opacity: 50%;}
|
||||
.visual .price ul{display: flex; justify-content: space-between; padding: 0 20px;}
|
||||
.visual .price ul li{width: calc((100% - 20px)/3);}
|
||||
.visual .price ul .wrap{border: 3px solid #ffcd05; border-radius: 10px; background-color: #eaedf1; color: #082550; font-weight: 400;}
|
||||
.visual .price ul .wrap .title{padding: 9px 0; border-radius: 6px 6px 0 0; background-color: #ffcd05; text-align: center; font-size: 20px;}
|
||||
.visual .price ul .wrap .title p img{margin: 0 0 4px 0;}
|
||||
.visual .price ul .wrap .inner_text{padding: 7px 7px 10px 7px; border-radius: 0 0 8px 8px; background-color: #fff; font-size: 26px;}
|
||||
.visual .price ul .wrap .inner_text span{font-size: 18px;}
|
||||
|
||||
/*con*/
|
||||
.con{margin: 80px 20px 0 20px;}
|
||||
.con .title{font-family: 'yg-jalnan'; display: flex; align-items: center;}
|
||||
.con .title p{font-size: 36px; margin: 1px 0 0 0;}
|
||||
.con .title .num{padding: 2px 0 0 0; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin: 0 20px 0 0; border-radius: 13px; background-color: #ffcd05; font-size: 32px;}
|
||||
.con .text_wrap{background-color: #fff; box-shadow: 0 0 9px rgba(0,0,0,0.1 ); padding: 44px 44px 44px 74px; margin: 30px 0 0 0; border-radius: 20px;}
|
||||
.con .text{position: relative; margin: 0 0 35px 0;}
|
||||
.con .text:last-child{margin: 0;}
|
||||
.con .text p{font-size: 32px; font-weight: 400; line-height: 1.5;}
|
||||
.con .text .te::after{content: ""; position: absolute; top: 24px; left: -22px; transform: translateY(-50%); border-radius: 50%; width: 10px; height: 10px; background-color: #ffcd05;}
|
||||
.con .text .text_sub p{font-size: 28px; font-weight: 300; color: #666; line-height: 1.5; word-break: break-all; text-indent: -17px; margin: 0 0 0 21px;}
|
||||
|
||||
/*footer*/
|
||||
footer{ margin: 80px 0 0 0; text-align: center; background-color: #393939; color: #fff;}
|
||||
footer .title{padding: 40px 0 18px 0; display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 500;}
|
||||
footer .title p{margin: 0 0 0 16px;}
|
||||
footer ul li{width: 380px; /*display: flex; align-items: center; justify-content: center;*/ margin: 0 auto 16px auto; padding: 8px 0 12PX 0; border-radius: 10px; border: 1px solid #888; font-size: 40px; font-weight: 700;}
|
||||
footer ul li a{color: #fff;}
|
||||
footer ul li:last-child{margin: 0 auto;}
|
||||
footer .iten{padding: 22px 0 40px 0; font-size: 26px; font-weight: 300; opacity: 40%;}
|
||||
|
||||
/*미디어쿼리_640x*/
|
||||
@media screen and (max-width:640px){
|
||||
.visual{background-image: url(/publish/publish_m/img/main_bg.png);}
|
||||
}
|
||||
|
||||
/*미디어쿼리_500x*/
|
||||
@media screen and (max-width:500px){
|
||||
/*header*/
|
||||
header .inner{border-radius: 0 0 20px 0; padding: 3px 20px;}
|
||||
header .inner a img{width: 64%;}
|
||||
header .inner a p{font-size: 14px; padding: 0; margin: 0 0 0 -20px;}
|
||||
/*메인비주얼*/
|
||||
.visual{border-radius: 0 0 25px 0;}
|
||||
.visual .inner h2{padding: 70px 0 15px 0; font-size: 32px; line-height: 1.3;}
|
||||
.visual .inner .button a p{width: 180px; height: 40px; font-size: 16px; line-height: 42px;}
|
||||
.visual .inner .button a p img{width: 5%;}
|
||||
/*요금*/
|
||||
.visual .price .text{font-size: 12px;}
|
||||
.visual .price ul .wrap{border: 2px solid #ffcd05; border-radius: 7px;}
|
||||
.visual .price ul .wrap .title{font-size: 14px; border-radius: 5px 5px 0 0; padding: 6px 0;}
|
||||
.visual .price ul .wrap .inner_text{font-size: 15px; border-radius: 0 0 6px 6px; padding: 5px 7px 6px 7px;}
|
||||
.visual .price ul .wrap .inner_text span{font-size: 13px;}
|
||||
.visual .price .text01{padding: 15px 20px 10px 0;}
|
||||
/*con*/
|
||||
.con{margin: 40px 20px 0 20px;}
|
||||
.con .title p{font-size: 20px;}
|
||||
.con .title .num{/*padding: 8px 12px 7px 12px; */width: 30px; height: 30px; margin: 0 10px 0 0; border-radius: 6px; font-size: 18px;}
|
||||
.con .text_wrap{padding: 22px 22px 22px 37px; margin: 20px 0 0 0; border-radius: 15px;}
|
||||
.con .text{margin: 0 0 14px 0;}
|
||||
.con .text p{font-size: 17px;}
|
||||
.con .text .te::after{top: 10px; left: -11px; width: 5px; height: 5px;}
|
||||
.con .text .text_sub p{font-size: 15px; text-indent:-8px; margin: 0 0 0 9px;}
|
||||
/*footer*/
|
||||
footer{margin: 40px 0 0 0;}
|
||||
footer .title{padding: 20px 0 10px 0; font-size: 16px;}
|
||||
footer .title img{width: 8%;}
|
||||
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;}
|
||||
}
|
||||
|
||||
/*미디어쿼리_460pxx*/
|
||||
@media screen and (max-width:460px){
|
||||
.visual{background-image: url(/publish//publish_m/img/main_bg_small_01.png);}
|
||||
}
|
||||
|
||||
/*미디어쿼리_360x*/
|
||||
@media screen and (max-width:360px){
|
||||
.visual{background-image: url(/publish/publish_m/img/main_bg_small_02.png);}
|
||||
}
|
||||
|
||||
/*미디어쿼리_340x*/
|
||||
@media screen and (max-width:340px){
|
||||
.visual .price ul .wrap .title{font-size: 13px;}
|
||||
.visual .price ul{padding: 0 15px;}
|
||||
}
|
||||
|
||||
/*미디어쿼리_310x*/
|
||||
@media screen and (max-width:310px){
|
||||
.visual .price ul .wrap .title{font-size: 12px;}
|
||||
.visual .price ul{padding: 0 9px;}
|
||||
}
|
||||
BIN
src/main/webapp/publish/publish_m/img/arrow.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/main/webapp/publish/publish_m/img/header_logo.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
src/main/webapp/publish/publish_m/img/main_bg.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
src/main/webapp/publish/publish_m/img/main_bg_big.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/main/webapp/publish/publish_m/img/main_bg_small_01.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
src/main/webapp/publish/publish_m/img/main_bg_small_02.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
src/main/webapp/publish/publish_m/img/main_img.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/main/webapp/publish/publish_m/img/preview_logo.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
src/main/webapp/publish/publish_m/img/tel_icon.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
154
src/main/webapp/publish/publish_m/munjaon_intro_01.html
Normal file
@ -0,0 +1,154 @@
|
||||
<!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> 문자<br>발송 서비스</h2>
|
||||
<div class="button">
|
||||
<a href="https://www.munjaon.co.kr">
|
||||
<p>문자온 바로가기 <span>(클릭)</span></p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="price">
|
||||
<p class="text text01">(부가세 별도)</p>
|
||||
<ul>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">단문(SMS)</p>
|
||||
<p class="inner_text">7.5<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">장문(LMS)</p>
|
||||
<p class="inner_text">24<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">그림단문(MMS)</p>
|
||||
<p class="inner_text">55<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text text02">※ 발송량에 따른 단가 조정 가능 </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div class="con">
|
||||
<div class="title">
|
||||
<p class="num">1</p>
|
||||
<p>특장점</p>
|
||||
</div>
|
||||
<div class="text_wrap">
|
||||
<div class="text">
|
||||
<p class="te">단문(SMS), 장문(LMS), 그림문자(MMS), 카카오 알림톡, 팩스 발송 기능 제공</p>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p class="te">업계 최저가 요금</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">다양한 방식의 20건 선거문자 발송기능 제공</p>
|
||||
</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">
|
||||
<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 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>
|
||||
154
src/main/webapp/publish/publish_m/munjaon_intro_02.html
Normal file
@ -0,0 +1,154 @@
|
||||
<!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> 문자<br>발송 서비스</h2>
|
||||
<div class="button">
|
||||
<a href="https://www.munjaon.co.kr">
|
||||
<p>문자온 바로가기 <span>(클릭)</span></p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="price">
|
||||
<p class="text text01">(부가세 별도)</p>
|
||||
<ul>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">단문(SMS)</p>
|
||||
<p class="inner_text">8<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">장문(LMS)</p>
|
||||
<p class="inner_text">26<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="wrap">
|
||||
<p class="title">그림단문(MMS)</p>
|
||||
<p class="inner_text">60<span>원</span></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text text02">※ 발송량에 따른 단가 조정 가능 </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div class="con">
|
||||
<div class="title">
|
||||
<p class="num">1</p>
|
||||
<p>특장점</p>
|
||||
</div>
|
||||
<div class="text_wrap">
|
||||
<div class="text">
|
||||
<p class="te">단문(SMS), 장문(LMS), 그림문자(MMS), 카카오 알림톡, 팩스 발송 기능 제공</p>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p class="te">업계 최저가 요금</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">다양한 방식의 20건 선거문자 발송기능 제공</p>
|
||||
</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">
|
||||
<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 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>
|
||||