Merge branch '5102_친구톡_발송속도_개선'
This commit is contained in:
commit
a8d0e123d4
@ -318,4 +318,17 @@ public final class MJUtil {
|
||||
return dupliBlockList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사업자등록번호 대시('-') 추가
|
||||
* 대시 유무 상관없음
|
||||
* 유효성 맞지 않을시 변환안됨.
|
||||
*/
|
||||
public static String bizNoAddDash(String str) {
|
||||
if(str == null) {
|
||||
return str;
|
||||
}
|
||||
String regExp = "(\\d{3})(\\d{2})(\\d{5})$";
|
||||
String chgf = "$1-$2-$3";
|
||||
return str.replaceFirst(regExp, chgf);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
package itn.let.mjo.pay.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||
|
||||
public interface MjonPayService {
|
||||
|
||||
List<MjonPayVO> selectPayList(MjonPayVO mjonPayVO) throws Exception;
|
||||
@ -140,4 +143,11 @@ public interface MjonPayService {
|
||||
//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
|
||||
public String selectTotSumPaymentAfterPay(String userId) throws Exception;
|
||||
|
||||
Map<String, Object> payUserSWList(MjonPayVO mjonPayVO) throws Exception;
|
||||
|
||||
Map<String, Object> payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception;
|
||||
|
||||
//거래명세서 상세 조회
|
||||
MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -241,5 +241,11 @@ public class MjonPayVO extends ComDefaultVO{
|
||||
|
||||
private String totChgPay; // 간편결제분류
|
||||
|
||||
// 거래명세서 내용
|
||||
private String bizNo; // 사업자등록번호
|
||||
private String managerNm; // 담당자명
|
||||
private String prePaymentYn; // 선불결제여부 N:후불제고객
|
||||
private String dept; // 회원종류 p:개인 c:기업
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -359,4 +359,7 @@ public class MjonPayDAO extends EgovAbstractDAO {
|
||||
|
||||
}
|
||||
|
||||
public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception{
|
||||
return (MjonPayVO)select("mjonPayDAO.selectPayDetail", mjonPayVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,11 +7,16 @@ import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.MessageDigest;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -25,11 +30,15 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import itn.com.cmm.LoginVO;
|
||||
import itn.com.cmm.util.DateUtils;
|
||||
import itn.com.cmm.util.MJUtil;
|
||||
import itn.com.cmm.util.PayUtils;
|
||||
import itn.com.utl.fcc.service.EgovStringUtil;
|
||||
import itn.let.mjo.event.service.MjonEventVO;
|
||||
import itn.let.mjo.event.service.impl.MjonEventDAO;
|
||||
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||
import itn.let.mjo.msgcampain.service.MjonCandidateVO;
|
||||
import itn.let.mjo.msgcampain.service.impl.MjonCandidateDAO;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
||||
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
|
||||
import itn.let.mjo.pay.service.MjonPayService;
|
||||
@ -94,6 +103,10 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
@Resource(name = "mberGrdService")
|
||||
MberGrdService mberGrdService;
|
||||
|
||||
@Resource(name="mjonCandidateDAO")
|
||||
private MjonCandidateDAO mjonCandidateDAO;
|
||||
|
||||
|
||||
@Override
|
||||
public List<MjonPayVO> selectPayList(MjonPayVO mjonPayVO) throws Exception {
|
||||
return mjonPayDAO.selectPayList(mjonPayVO);
|
||||
@ -2839,6 +2852,144 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> payUserSWList(MjonPayVO mjonPayVO) throws Exception{
|
||||
|
||||
|
||||
String userId = mjonPayVO.getUserId();
|
||||
|
||||
// 총 사용금액
|
||||
List<MjonPayVO> usedCashTotList = mjonPayDAO.selectUsedCashWithKakaoTotCnt(mjonPayVO);
|
||||
|
||||
// 사용가능한 금액
|
||||
// mberManageVO.prePaymentYn 선불 후불 회원 구분으로 인해 select함
|
||||
MberManageVO mberManageVO = mjonMsgDataDAO.selectMberManageInfo(userId);
|
||||
// 선거 후보자 정보 조회
|
||||
MjonCandidateVO mjonCandidateVO = new MjonCandidateVO();
|
||||
if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기
|
||||
mjonCandidateVO = mjonCandidateDAO.selectCandidateDataInfo(userId);
|
||||
if(mjonCandidateVO != null) {
|
||||
mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1()));
|
||||
mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 후불제 회원 관련 사용 요금 내역 정보 조회하기
|
||||
* 20231228 우영두 추가
|
||||
* 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회
|
||||
*
|
||||
* */
|
||||
//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
|
||||
String totSumCashAfterPay = mjonPayDAO.selectTotalSumCashForAfterPay(userId);
|
||||
|
||||
//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
|
||||
String totSumPointAfterPay = mjonPayDAO.selectTotalSumPointForAfterPay(userId);
|
||||
|
||||
//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
|
||||
String totSumPaymentAfterPay = mjonPayDAO.selectTotSumPaymentAfterPay(userId);
|
||||
|
||||
//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
|
||||
float p_i_re_point = 0;
|
||||
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
|
||||
if (sysJoinSetVO != null) {
|
||||
p_i_re_point = sysJoinSetVO.getPointPer();
|
||||
}
|
||||
int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
|
||||
|
||||
//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
|
||||
float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
|
||||
|
||||
//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
|
||||
int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
|
||||
|
||||
/*
|
||||
* 2024.02.06 후불제 회원 중 협의단가를 사용하는 회원은 포인트 적립이 되지 않아야함.
|
||||
* 후불제 협의 단가 여부 체크
|
||||
* 모든 협의 단가 금액을 합산하여 0보다 크면 협의단가 있음.
|
||||
* */
|
||||
float shortPrice = mberManageVO.getShortPrice();
|
||||
float longPrice = mberManageVO.getLongPrice();
|
||||
float picturePrice = mberManageVO.getPicturePrice() + mberManageVO.getPicture2Price() + mberManageVO.getPicture3Price();
|
||||
float kakaoAtPrice = mberManageVO.getKakaoAtPrice();
|
||||
float kakaoFtPrice = mberManageVO.getKakaoFtPrice();
|
||||
float totPrice = shortPrice + longPrice + picturePrice + kakaoAtPrice + kakaoFtPrice;
|
||||
String negoPriceYn = "N";
|
||||
|
||||
if(totPrice > 0) {
|
||||
negoPriceYn = "Y";
|
||||
}
|
||||
|
||||
|
||||
|
||||
Map<String, Object> returnData = new HashMap<>();
|
||||
|
||||
|
||||
returnData.put("usedCashTotList", usedCashTotList);
|
||||
returnData.put("mberManageVO", mberManageVO);
|
||||
returnData.put("mjonCandidateVO", mjonCandidateVO);
|
||||
returnData.put("totSumCashAfterPay", totSumCashAfterPay);
|
||||
returnData.put("totSumPointAfterPay", totSumPointAfterPay);
|
||||
returnData.put("totSumPaymentAfterPay", totSumPaymentAfterPay);
|
||||
returnData.put("sumPaymentPointAfterPay", paymentPointAfterPay);
|
||||
returnData.put("unPaymentAfterPay", unPaymentAfterPay);
|
||||
returnData.put("unPaymentPointAfterPay", unPaymentPointAfterPay);
|
||||
returnData.put("negoPriceYn", negoPriceYn);
|
||||
// 초기 날짜 셋팅
|
||||
returnData.put("startDate", DateUtils.getDateMonthsAgo(1));
|
||||
returnData.put("endDate", DateUtils.getCurrentDate());
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return returnData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> payUserSWListAjax(MjonMsgVO mjonMsgVO) throws Exception{
|
||||
|
||||
if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
mjonMsgVO.setSearchSortCnd("regDate");
|
||||
mjonMsgVO.setSearchSortOrd("desc");
|
||||
}
|
||||
|
||||
Map<String, Object> returnData = new HashMap<>();
|
||||
|
||||
// 검색 데이터가 없거나
|
||||
// 시작일자가 종료일자보다 이후이거나
|
||||
// 총 기간이 365일이 넘으면 현재일부터 365일 전 날짜를 넣어서 검색
|
||||
if(!DateUtils.dateChkAndValueChk(mjonMsgVO.getStartDate(),mjonMsgVO.getEndDate(), 12 )) {
|
||||
|
||||
mjonMsgVO.setStartDate(DateUtils.getDateMonthsAgo(12));
|
||||
mjonMsgVO.setEndDate(DateUtils.getCurrentDate());
|
||||
|
||||
};
|
||||
|
||||
|
||||
List<MjonMsgVO> payUserSWList = mjonMsgDataDAO.selectPayUserSWList(mjonMsgVO);
|
||||
returnData.put("payUserSWList", payUserSWList);
|
||||
returnData.put("totCnt", payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0);
|
||||
returnData.put("totSuccSendPrice", payUserSWList.size() > 0 ? PayUtils.getTrimToFirstDecimal(payUserSWList.get(0).getTotSuccSendPrice()) : 0);
|
||||
|
||||
return returnData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MjonPayVO selectPayDetail(MjonPayVO mjonPayVO) throws Exception {
|
||||
|
||||
MjonPayVO result = mjonPayDAO.selectPayDetail(mjonPayVO);
|
||||
/* 후불제 고객의 사용기한 조회(결제일의 전달 1일 ~ 말일) */
|
||||
if("N".equals(result.getPrePaymentYn())) {
|
||||
String regDateStr = result.getRegDate();
|
||||
LocalDateTime regDate = Timestamp.valueOf(regDateStr).toLocalDateTime();
|
||||
|
||||
LocalDate lastMonth = regDate.toLocalDate().withDayOfMonth(1).minusMonths(1);
|
||||
LocalDate startDate = lastMonth.withDayOfMonth(1);
|
||||
LocalDate endDate = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth());
|
||||
|
||||
result.setStartDate(startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
result.setEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2603,16 +2603,17 @@ public class MjonPayController {
|
||||
* 2023.12.22 우영두
|
||||
* @param mjonMsgVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/PayUserSWList.do"
|
||||
* @return "/web/member/pay/payUserSWList.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/PayUserSWList.do"})
|
||||
public String PayUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO,
|
||||
@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;
|
||||
|
||||
@ -2621,117 +2622,26 @@ public class MjonPayController {
|
||||
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.prePaymentYn 선불 후불 회원 구분으로 인해 select함
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
/**
|
||||
* 후불제 회원 관련 사용 요금 내역 정보 조회하기
|
||||
* 20231228 우영두 추가
|
||||
* 누적사용금액, 누적 납부금액, 당월 납부 예상금액 정보 조회
|
||||
*
|
||||
* */
|
||||
// // 비즈니스 로직 부분
|
||||
Map<String, Object> resultMap = mjonPayService.payUserSWList(mjonPayVO);
|
||||
|
||||
//누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산)
|
||||
String totSumCashAfterPay = mjonPayService.selectTotalSumCashForAfterPay(userId);
|
||||
model.addAttribute("totSumCashAfterPay", totSumCashAfterPay);
|
||||
|
||||
//누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용)
|
||||
String totSumPointAfterPay = mjonPayService.selectTotalSumPointForAfterPay(userId);
|
||||
model.addAttribute("totSumPointAfterPay", totSumPointAfterPay);
|
||||
model.addAttribute("usedCashTotList", resultMap.get("usedCashTotList"));
|
||||
model.addAttribute("mjonCandidateVO", resultMap.get("mjonCandidateVO"));
|
||||
model.addAttribute("mberManageVO", resultMap.get("mberManageVO"));
|
||||
model.addAttribute("totSumCashAfterPay", resultMap.get("totSumCashAfterPay"));
|
||||
model.addAttribute("totSumPointAfterPay", resultMap.get("totSumPointAfterPay"));
|
||||
model.addAttribute("totSumPaymentAfterPay", resultMap.get("totSumPaymentAfterPay"));
|
||||
model.addAttribute("sumPaymentPointAfterPay", resultMap.get("sumPaymentPointAfterPay"));
|
||||
model.addAttribute("unPaymentAfterPay", resultMap.get("unPaymentAfterPay"));
|
||||
model.addAttribute("unPaymentPointAfterPay", resultMap.get("unPaymentPointAfterPay"));
|
||||
model.addAttribute("negoPriceYn", resultMap.get("negoPriceYn"));
|
||||
model.addAttribute("startDate", resultMap.get("startDate"));
|
||||
model.addAttribute("endDate", resultMap.get("endDate"));
|
||||
|
||||
//누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액)
|
||||
String totSumPaymentAfterPay = mjonPayService.selectTotSumPaymentAfterPay(userId);
|
||||
model.addAttribute("totSumPaymentAfterPay", totSumPaymentAfterPay);
|
||||
|
||||
//누적 납부 포인트 조회 ( 누적 납부금액 합산에 대한 2% 포인트 정보 계산)
|
||||
float p_i_re_point = 0;
|
||||
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
|
||||
if (sysJoinSetVO != null) {
|
||||
p_i_re_point = sysJoinSetVO.getPointPer();
|
||||
}
|
||||
int paymentPointAfterPay = Math.round((Float.parseFloat(totSumPaymentAfterPay) * p_i_re_point / 100));
|
||||
model.addAttribute("sumPaymentPointAfterPay", paymentPointAfterPay);
|
||||
|
||||
//당월 납부 예상금액 (누적 사용금액 합산 - 누적 납부금액 합산 정보 계산)
|
||||
|
||||
float unPaymentAfterPay = Float.parseFloat(totSumCashAfterPay) - Float.parseFloat(totSumPaymentAfterPay);
|
||||
model.addAttribute("unPaymentAfterPay", unPaymentAfterPay);
|
||||
|
||||
//당월 납부 예상 포인트 (당월 납부 예상 금액에 대한 2% 포인트 정보 계산)
|
||||
int unPaymentPointAfterPay = Math.round((unPaymentAfterPay * p_i_re_point / 100));
|
||||
model.addAttribute("unPaymentPointAfterPay", unPaymentPointAfterPay);
|
||||
|
||||
/*
|
||||
* 2024.02.06 후불제 회원 중 협의단가를 사용하는 회원은 포인트 적립이 되지 않아야함.
|
||||
* 후불제 협의 단가 여부 체크
|
||||
* 모든 협의 단가 금액을 합산하여 0보다 크면 협의단가 있음.
|
||||
* */
|
||||
float shortPrice = mberManageVO.getShortPrice();
|
||||
float longPrice = mberManageVO.getLongPrice();
|
||||
float picturePrice = mberManageVO.getPicturePrice() + mberManageVO.getPicture2Price() + mberManageVO.getPicture3Price();
|
||||
float kakaoAtPrice = mberManageVO.getKakaoAtPrice();
|
||||
float kakaoFtPrice = mberManageVO.getKakaoFtPrice();
|
||||
float totPrice = shortPrice + longPrice + picturePrice + kakaoAtPrice + kakaoFtPrice;
|
||||
String negoPriceYn = "N";
|
||||
|
||||
if(totPrice > 0) {
|
||||
negoPriceYn = "Y";
|
||||
}
|
||||
model.addAttribute("negoPriceYn", negoPriceYn);
|
||||
|
||||
}
|
||||
{
|
||||
// 초기 날짜 셋팅
|
||||
model.addAttribute("startDate", DateUtils.getDateMonthsAgo(12));
|
||||
model.addAttribute("endDate", DateUtils.getCurrentDate());
|
||||
}
|
||||
|
||||
return "/web/pay/PayUserSWList";
|
||||
}
|
||||
@ -2749,8 +2659,8 @@ public class MjonPayController {
|
||||
* @return "/web/member/pay/PayUserSWListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/PayUserSWListAjax.do"})
|
||||
public String PayUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
@RequestMapping(value= {"/web/member/pay/payUserSWListAjax.do"})
|
||||
public String payUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
@ -2774,29 +2684,12 @@ public class MjonPayController {
|
||||
mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
mjonMsgVO.setSearchSortCnd("regDate");
|
||||
mjonMsgVO.setSearchSortOrd("desc");
|
||||
}
|
||||
Map<String, Object> resultMap = mjonPayService.payUserSWListAjax(mjonMsgVO);
|
||||
|
||||
// 검색 데이터가 없거나
|
||||
// 시작일자가 종료일자보다 이후이거나
|
||||
// 총 기간이 365일이 넘으면 현재일부터 365일 전 날짜를 넣어서 검색
|
||||
if(!DateUtils.dateChkAndValueChk(mjonMsgVO.getStartDate(),mjonMsgVO.getEndDate(), 12 )) {
|
||||
|
||||
mjonMsgVO.setStartDate(DateUtils.getDateMonthsAgo(12));
|
||||
mjonMsgVO.setEndDate(DateUtils.getCurrentDate());
|
||||
|
||||
};
|
||||
|
||||
List<MjonMsgVO> payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO);
|
||||
|
||||
paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0);
|
||||
paginationInfo.setTotalRecordCount((int)resultMap.get("totCnt"));
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
model.addAttribute("payUserSWList", payUserSWList);
|
||||
|
||||
model.addAttribute("totSuccSendPrice", payUserSWList.size() > 0 ? PayUtils.getTrimToFirstDecimal(payUserSWList.get(0).getTotSuccSendPrice()) : 0);
|
||||
|
||||
model.addAttribute("payUserSWList", resultMap.get("payUserSWList"));
|
||||
model.addAttribute("totSuccSendPrice", resultMap.get("totSuccSendPrice"));
|
||||
model.addAttribute("mjonMsgVO", mjonMsgVO);
|
||||
|
||||
|
||||
@ -2878,7 +2771,7 @@ public class MjonPayController {
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold
|
||||
|
||||
sheet.setColumnWidth(1, 5000); // 칼럼의 폭 조절
|
||||
sheet.setColumnWidth(4, 10000); // 칼럼의 폭 조절
|
||||
sheet.setColumnWidth(3, 10000); // 칼럼의 폭 조절
|
||||
|
||||
try{
|
||||
|
||||
@ -2903,6 +2796,7 @@ public class MjonPayController {
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,1,1)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,2,2)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,3,3)); //셀병합
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,1,6,6)); //셀병합
|
||||
|
||||
|
||||
cell = row.createCell(0);
|
||||
@ -2910,46 +2804,29 @@ public class MjonPayController {
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(1);
|
||||
cell.setCellValue("날짜");
|
||||
cell.setCellValue("발송일시");
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(2);
|
||||
cell.setCellValue("문자유형");
|
||||
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 = row.createCell(4);
|
||||
cell.setCellValue("발송건수");
|
||||
sheet.addMergedRegion(new CellRangeAddress(0,0,4,5)); //셀병합
|
||||
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.setCellValue("금액(원)");
|
||||
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);
|
||||
@ -2965,32 +2842,16 @@ public class MjonPayController {
|
||||
cell.setCellStyle(style);
|
||||
|
||||
cell = row.createCell(4);
|
||||
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(5);
|
||||
cell.setCellValue("충전금");
|
||||
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 = "";
|
||||
@ -3033,15 +2894,11 @@ public class MjonPayController {
|
||||
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); //잔액 - 포인트
|
||||
*/ }
|
||||
if(j==3) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSmsTxt()); //내용
|
||||
if(j==4) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendCnt()); //성공건수
|
||||
if(j==5) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getFailSendCnt()); //실패건수
|
||||
if(j==6) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendPrice()); //금액
|
||||
}
|
||||
}
|
||||
}
|
||||
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
|
||||
@ -5051,28 +4908,11 @@ public class MjonPayController {
|
||||
model.addAttribute("resultList", payUserSumList);
|
||||
|
||||
// 수신자 정보
|
||||
String mberNm = ""; // 회사명
|
||||
String managerNm = ""; // 담당자명
|
||||
String moblphonNo = ""; // 연락처
|
||||
MberManageVO mberManageVO = new MberManageVO();
|
||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
if (mberManageVO != null) {
|
||||
// 회원종류 p-개인 c-기업
|
||||
if (mberManageVO.getDept().equals("c")) {
|
||||
mberNm = mberManageVO.getMberNm();
|
||||
managerNm = mberManageVO.getManagerNm();
|
||||
moblphonNo = mberManageVO.getMoblphonNo();
|
||||
}
|
||||
else {
|
||||
mberNm = mberManageVO.getMberNm();
|
||||
managerNm = mberManageVO.getMberNm();
|
||||
moblphonNo = mberManageVO.getMoblphonNo();
|
||||
}
|
||||
}
|
||||
|
||||
model.addAttribute("mberNm", mberNm);
|
||||
model.addAttribute("managerNm", managerNm);
|
||||
model.addAttribute("moblphonNo", moblphonNo);
|
||||
MJUtil mjUtil = new MJUtil();
|
||||
MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
mberManageVO.setMoblphonNo(mjUtil.addDash(mberManageVO.getMoblphonNo()));
|
||||
mberManageVO.setBizNo(mjUtil.bizNoAddDash(mberManageVO.getBizNo()));
|
||||
model.addAttribute("mberManageVO", mberManageVO);
|
||||
|
||||
//부가세 포함 가격 정보 계산
|
||||
double addTax = Math.round(totalSumPrice * 0.1);
|
||||
@ -6191,6 +6031,41 @@ public class MjonPayController {
|
||||
return "/uss/ion/pay/cashPointSendList";
|
||||
}
|
||||
|
||||
/**
|
||||
* * 거래명세서 팝업
|
||||
* @param searchVO
|
||||
* @param model
|
||||
* @return "/web/member/pay/payInvoicePopupAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= {"/web/member/pay/payInvoicePopupAjax.do"})
|
||||
public String printInvoiceAjax(
|
||||
@ModelAttribute("searchVO") MjonPayVO mjonPayVO
|
||||
, RedirectAttributes redirectAttributes
|
||||
, ModelMap model) throws Exception {
|
||||
|
||||
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if(loginVO == null) {
|
||||
//redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다.");
|
||||
return "redirect:/web/user/login/login.do";
|
||||
}
|
||||
|
||||
mjonPayVO.setUserId(userId);
|
||||
|
||||
//결제 정보 불러오기
|
||||
MJUtil mjUtil = new MJUtil();
|
||||
MjonPayVO result = mjonPayService.selectPayDetail(mjonPayVO);
|
||||
result.setMbtlNum(mjUtil.addDash(result.getMbtlNum()));
|
||||
result.setBizNo(mjUtil.bizNoAddDash(result.getBizNo()));
|
||||
model.addAttribute("result", result);
|
||||
|
||||
return "web/pay/payInvoicePrintPopup";
|
||||
}
|
||||
/**
|
||||
* @param p_pattern
|
||||
* @param p_mjonPayVO
|
||||
|
||||
@ -278,6 +278,8 @@ public class MjonPayV2Controller {
|
||||
try {
|
||||
// 다음 결제시 결제수단 SELECT
|
||||
nextPayMethod = userManageService.selectNextPayMethod(userId);
|
||||
// 실제 마지막 결제 방식 -
|
||||
|
||||
}
|
||||
catch(Exception e) {
|
||||
isSuccess = false;
|
||||
@ -1640,6 +1642,45 @@ public class MjonPayV2Controller {
|
||||
return "web/cop/kgmV2/bankOkUrl";
|
||||
}
|
||||
|
||||
/**
|
||||
* 마지막 결제수단 SELECT
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = "/web/member/pay/selectLastPayMethodAjax.do")
|
||||
public ModelAndView selectLastPayMethodAjax(MjonPayVO mjonPayVO,
|
||||
HttpServletRequest request ) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
boolean isSuccess = true;
|
||||
String msg = "";
|
||||
String nextPayMethod = "";
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if(userId == null) {
|
||||
isSuccess = false;
|
||||
msg = "로그인이 필요합니다.";
|
||||
}
|
||||
|
||||
try {
|
||||
// 다음 결제시 결제수단 SELECT
|
||||
nextPayMethod = userManageService.selectLastPayMethod(userId);
|
||||
}
|
||||
catch(Exception e) {
|
||||
isSuccess = false;
|
||||
msg = e.getMessage();
|
||||
}
|
||||
|
||||
modelAndView.addObject("isSuccess", isSuccess);
|
||||
modelAndView.addObject("msg", msg);
|
||||
modelAndView.addObject("nextPayMethod", nextPayMethod);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
// Get Server Path
|
||||
public static String getKgServerPath(HttpServletRequest request) {
|
||||
String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort();
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
package itn.let.uat.uia.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -11,14 +16,16 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import itn.com.cmm.util.StringUtil;
|
||||
import itn.com.uss.olh.hpc.service.HackIpService;
|
||||
import itn.com.uss.olh.hpc.service.HackIpVO;
|
||||
import itn.com.utl.fcc.service.EgovStringUtil;
|
||||
import itn.let.mjo.cert.service.CertVO;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
||||
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
|
||||
import itn.let.mjo.pay.service.KmcVO;
|
||||
import itn.let.sec.rgm.service.AuthorGroup;
|
||||
import itn.let.sec.rgm.service.EgovAuthorGroupService;
|
||||
import itn.let.sym.site.service.JoinSettingVO;
|
||||
import itn.let.uat.uia.service.AuthCertVO;
|
||||
import itn.let.uss.umt.service.AdmProcHstryVO;
|
||||
import itn.let.uss.umt.service.EgovMberManageService;
|
||||
@ -82,6 +89,10 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
|
||||
@Resource(name = "hackIpService")
|
||||
private HackIpService hackIpService;
|
||||
|
||||
/* MjonMsgDataService */
|
||||
@Resource(name = "MjonMsgDataService")
|
||||
private MjonMsgDataService mjonMsgDataService;
|
||||
|
||||
|
||||
@Override
|
||||
public int insertMber(MberManageVO mberManageVO) throws Exception {
|
||||
@ -621,4 +632,71 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
|
||||
return mberManageDAO.findTopByregDateFromCertLog(authCertVO);
|
||||
}
|
||||
|
||||
public MberManageVO selectMberHeaderInfo(String mberId) throws Exception {
|
||||
//회원 단가, 이벤트 단가, 이벤트 종료일 등 조회
|
||||
MberManageVO headerInfo = mberManageDAO.selectMberHeaderInfo(mberId);
|
||||
//기본 단가 조회
|
||||
JoinSettingVO sysPrice = mjonMsgDataService.selectJoinSettingInfo();
|
||||
|
||||
//이벤트 종료까지 남은 일 수 계산
|
||||
long eventLeftDay = calculateEventLeftDay(headerInfo.getEventEndDate());
|
||||
headerInfo.setEventLeftDay(String.valueOf(eventLeftDay));
|
||||
|
||||
//이벤트 유무에 따라 이벤트 잔액 or 잔액 사용
|
||||
boolean isEventActive = eventLeftDay > 0;
|
||||
double money = isEventActive ? headerInfo.getEventRemainCash() : headerInfo.getUserMoney();
|
||||
|
||||
//이벤트, 회원 단가가 0일 시 기본 단가 사용
|
||||
setPrices(headerInfo, sysPrice, isEventActive);
|
||||
|
||||
//발송가능 건수 조회
|
||||
calculateAvailableCounts(headerInfo, money);
|
||||
|
||||
return headerInfo;
|
||||
}
|
||||
|
||||
private long calculateEventLeftDay(String eventEndDateStr) {
|
||||
if (StringUtil.isEmpty(eventEndDateStr)) return 0;
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDate eventEndDate = LocalDate.parse(eventEndDateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
return ChronoUnit.DAYS.between(today, eventEndDate);
|
||||
}
|
||||
|
||||
private void setPrices(MberManageVO headerInfo, JoinSettingVO sysPrice, boolean isEventActive) {
|
||||
if (isEventActive) {
|
||||
headerInfo.setHeaderShortPrice(priceChk(headerInfo.getEventShortPrice(), sysPrice.getShortPrice()));
|
||||
headerInfo.setHeaderLongPrice(priceChk(headerInfo.getEventLongPrice(), sysPrice.getLongPrice()));
|
||||
headerInfo.setHeaderPicturePrice(priceChk(headerInfo.getEventPicturePrice(), sysPrice.getPicturePrice()));
|
||||
headerInfo.setHeaderPicture2Price(priceChk(headerInfo.getEventPicture2Price(), sysPrice.getPicture2Price()));
|
||||
headerInfo.setHeaderPicture3Price(priceChk(headerInfo.getEventPicture3Price(), sysPrice.getPicture3Price()));
|
||||
} else {
|
||||
headerInfo.setHeaderShortPrice(priceChk(headerInfo.getShortPrice(), sysPrice.getShortPrice()));
|
||||
headerInfo.setHeaderLongPrice(priceChk(headerInfo.getLongPrice(), sysPrice.getLongPrice()));
|
||||
headerInfo.setHeaderPicturePrice(priceChk(headerInfo.getPicturePrice(), sysPrice.getPicturePrice()));
|
||||
headerInfo.setHeaderPicture2Price(priceChk(headerInfo.getPicture2Price(), sysPrice.getPicture2Price()));
|
||||
headerInfo.setHeaderPicture3Price(priceChk(headerInfo.getPicture3Price(), sysPrice.getPicture3Price()));
|
||||
}
|
||||
// 카카오, 팩스 단가는 기본 단가 고정
|
||||
headerInfo.setHeaderKakaoAtPrice(sysPrice.getKakaoAtPrice());
|
||||
headerInfo.setHeaderFaxPrice(sysPrice.getFaxPrice());
|
||||
}
|
||||
|
||||
private float priceChk(float price, float sysPrice) {
|
||||
return price > 0 ? price : sysPrice;
|
||||
}
|
||||
|
||||
private void calculateAvailableCounts(MberManageVO headerInfo, double money) {
|
||||
headerInfo.setHeaderShortCnt(calcCount(money, headerInfo.getHeaderShortPrice()));
|
||||
headerInfo.setHeaderLongCnt(calcCount(money, headerInfo.getHeaderLongPrice()));
|
||||
headerInfo.setHeaderPictureCnt(calcCount(money, headerInfo.getHeaderPicturePrice()));
|
||||
headerInfo.setHeaderPicture2Cnt(calcCount(money, headerInfo.getHeaderPicture2Price()));
|
||||
headerInfo.setHeaderPicture3Cnt(calcCount(money, headerInfo.getHeaderPicture3Price()));
|
||||
headerInfo.setHeaderKakaoAtCnt(calcCount(money, headerInfo.getHeaderKakaoAtPrice()));
|
||||
headerInfo.setHeaderFaxCnt(calcCount(money, headerInfo.getHeaderFaxPrice()));
|
||||
}
|
||||
|
||||
private int calcCount(double money, double price) {
|
||||
if (price <= 0) return 0;
|
||||
return (int) Math.floor(money / price);
|
||||
}
|
||||
}
|
||||
@ -346,4 +346,7 @@ public class MberManageDAO extends EgovComAbstractDAO{
|
||||
return (String)select("mberManageDAO.findTopByregDateFromCertLog", authCertVO);
|
||||
}
|
||||
|
||||
public MberManageVO selectMberHeaderInfo(String mberId) {
|
||||
return (MberManageVO) select("mberManageDAO.selectMberHeaderInfo", mberId);
|
||||
}
|
||||
}
|
||||
@ -251,4 +251,6 @@ public interface EgovMberManageService {
|
||||
|
||||
public String findTopByregDateFromCertLog(AuthCertVO authCertVO);
|
||||
|
||||
//사용자 헤더 정보(단가, 이벤트 활성화 기간)
|
||||
public MberManageVO selectMberHeaderInfo(String mberId) throws Exception;
|
||||
}
|
||||
@ -220,4 +220,6 @@ public interface EgovUserManageService {
|
||||
|
||||
public Map<String, Object> selectFaxSendList(FaxGroupDataVO faxGroupDataVO);
|
||||
|
||||
// 마지막 결제수단 조회
|
||||
public String selectLastPayMethod(String mberId) throws Exception;
|
||||
}
|
||||
@ -512,6 +512,39 @@ public class MberManageVO extends UserDefaultVO{
|
||||
*/
|
||||
private String secuLoginFlag;
|
||||
|
||||
|
||||
/**
|
||||
* 회원 이벤트 정보
|
||||
*/
|
||||
private String eventEndDate; //회원 이벤트 종료일자
|
||||
private double eventRemainCash; //이벤트 차감 후 남은 Cash
|
||||
private float eventShortPrice; //이벤트 단문 가격
|
||||
private float eventLongPrice; //이벤트 장문 가격
|
||||
private float eventPicturePrice; //이벤트 그림 1장 가격
|
||||
private float eventPicture2Price; //이벤트 그림 2장 가격
|
||||
private float eventPicture3Price; //이벤트 그림 3장 가격
|
||||
private String eventLeftDay; //이벤트 남은 기간
|
||||
|
||||
/**
|
||||
* 헤더 영역 정보(단가, 발송가능 건수)
|
||||
*/
|
||||
private float headerShortPrice;
|
||||
private float headerLongPrice;
|
||||
private float headerPicturePrice;
|
||||
private float headerPicture2Price;
|
||||
private float headerPicture3Price;
|
||||
private float headerKakaoAtPrice;
|
||||
private float headerKakaoFtPrice;
|
||||
private float headerFaxPrice;
|
||||
private int headerShortCnt;
|
||||
private int headerLongCnt;
|
||||
private int headerPictureCnt;
|
||||
private int headerPicture2Cnt;
|
||||
private int headerPicture3Cnt;
|
||||
private int headerKakaoAtCnt;
|
||||
private int headerKakaoFtCnt;
|
||||
private int headerFaxCnt;
|
||||
|
||||
public String getSmsCode() {
|
||||
return smsCode;
|
||||
}
|
||||
@ -1804,6 +1837,150 @@ public class MberManageVO extends UserDefaultVO{
|
||||
public void setSecuLoginFlag(String secuLoginFlag) {
|
||||
this.secuLoginFlag = secuLoginFlag;
|
||||
}
|
||||
public String getEventEndDate() {
|
||||
return eventEndDate;
|
||||
}
|
||||
public void setEventEndDate(String eventEndDate) {
|
||||
this.eventEndDate = eventEndDate;
|
||||
}
|
||||
public double getEventRemainCash() {
|
||||
return eventRemainCash;
|
||||
}
|
||||
public void setEventRemainCash(double eventRemainCash) {
|
||||
this.eventRemainCash = eventRemainCash;
|
||||
}
|
||||
public float getEventShortPrice() {
|
||||
return eventShortPrice;
|
||||
}
|
||||
public void setEventShortPrice(float eventShortPrice) {
|
||||
this.eventShortPrice = eventShortPrice;
|
||||
}
|
||||
public float getEventLongPrice() {
|
||||
return eventLongPrice;
|
||||
}
|
||||
public void setEventLongPrice(float eventLongPrice) {
|
||||
this.eventLongPrice = eventLongPrice;
|
||||
}
|
||||
public float getEventPicturePrice() {
|
||||
return eventPicturePrice;
|
||||
}
|
||||
public void setEventPicturePrice(float eventPicturePrice) {
|
||||
this.eventPicturePrice = eventPicturePrice;
|
||||
}
|
||||
public float getEventPicture2Price() {
|
||||
return eventPicture2Price;
|
||||
}
|
||||
public void setEventPicture2Price(float eventPicture2Price) {
|
||||
this.eventPicture2Price = eventPicture2Price;
|
||||
}
|
||||
public float getEventPicture3Price() {
|
||||
return eventPicture3Price;
|
||||
}
|
||||
public void setEventPicture3Price(float eventPicture3Price) {
|
||||
this.eventPicture3Price = eventPicture3Price;
|
||||
}
|
||||
public String getEventLeftDay() {
|
||||
return eventLeftDay;
|
||||
}
|
||||
public void setEventLeftDay(String eventLeftDay) {
|
||||
this.eventLeftDay = eventLeftDay;
|
||||
}
|
||||
public float getHeaderShortPrice() {
|
||||
return headerShortPrice;
|
||||
}
|
||||
public void setHeaderShortPrice(float headerShortPrice) {
|
||||
this.headerShortPrice = headerShortPrice;
|
||||
}
|
||||
public float getHeaderLongPrice() {
|
||||
return headerLongPrice;
|
||||
}
|
||||
public void setHeaderLongPrice(float headerLongPrice) {
|
||||
this.headerLongPrice = headerLongPrice;
|
||||
}
|
||||
public float getHeaderPicturePrice() {
|
||||
return headerPicturePrice;
|
||||
}
|
||||
public void setHeaderPicturePrice(float headerPicturePrice) {
|
||||
this.headerPicturePrice = headerPicturePrice;
|
||||
}
|
||||
public float getHeaderPicture2Price() {
|
||||
return headerPicture2Price;
|
||||
}
|
||||
public void setHeaderPicture2Price(float headerPicture2Price) {
|
||||
this.headerPicture2Price = headerPicture2Price;
|
||||
}
|
||||
public float getHeaderPicture3Price() {
|
||||
return headerPicture3Price;
|
||||
}
|
||||
public void setHeaderPicture3Price(float headerPicture3Price) {
|
||||
this.headerPicture3Price = headerPicture3Price;
|
||||
}
|
||||
public int getHeaderShortCnt() {
|
||||
return headerShortCnt;
|
||||
}
|
||||
public void setHeaderShortCnt(int headerShortCnt) {
|
||||
this.headerShortCnt = headerShortCnt;
|
||||
}
|
||||
public int getHeaderLongCnt() {
|
||||
return headerLongCnt;
|
||||
}
|
||||
public void setHeaderLongCnt(int headerLongCnt) {
|
||||
this.headerLongCnt = headerLongCnt;
|
||||
}
|
||||
public int getHeaderPictureCnt() {
|
||||
return headerPictureCnt;
|
||||
}
|
||||
public void setHeaderPictureCnt(int headerPictureCnt) {
|
||||
this.headerPictureCnt = headerPictureCnt;
|
||||
}
|
||||
public int getHeaderPicture2Cnt() {
|
||||
return headerPicture2Cnt;
|
||||
}
|
||||
public void setHeaderPicture2Cnt(int headerPicture2Cnt) {
|
||||
this.headerPicture2Cnt = headerPicture2Cnt;
|
||||
}
|
||||
public int getHeaderPicture3Cnt() {
|
||||
return headerPicture3Cnt;
|
||||
}
|
||||
public void setHeaderPicture3Cnt(int headerPicture3Cnt) {
|
||||
this.headerPicture3Cnt = headerPicture3Cnt;
|
||||
}
|
||||
public float getHeaderKakaoAtPrice() {
|
||||
return headerKakaoAtPrice;
|
||||
}
|
||||
public void setHeaderKakaoAtPrice(float headerKakaoAtPrice) {
|
||||
this.headerKakaoAtPrice = headerKakaoAtPrice;
|
||||
}
|
||||
public float getHeaderKakaoFtPrice() {
|
||||
return headerKakaoFtPrice;
|
||||
}
|
||||
public void setHeaderKakaoFtPrice(float headerKakaoFtPrice) {
|
||||
this.headerKakaoFtPrice = headerKakaoFtPrice;
|
||||
}
|
||||
public float getHeaderFaxPrice() {
|
||||
return headerFaxPrice;
|
||||
}
|
||||
public void setHeaderFaxPrice(float headerFaxPrice) {
|
||||
this.headerFaxPrice = headerFaxPrice;
|
||||
}
|
||||
public int getHeaderKakaoAtCnt() {
|
||||
return headerKakaoAtCnt;
|
||||
}
|
||||
public void setHeaderKakaoAtCnt(int headerKakaoAtCnt) {
|
||||
this.headerKakaoAtCnt = headerKakaoAtCnt;
|
||||
}
|
||||
public int getHeaderKakaoFtCnt() {
|
||||
return headerKakaoFtCnt;
|
||||
}
|
||||
public void setHeaderKakaoFtCnt(int headerKakaoFtCnt) {
|
||||
this.headerKakaoFtCnt = headerKakaoFtCnt;
|
||||
}
|
||||
public int getHeaderFaxCnt() {
|
||||
return headerFaxCnt;
|
||||
}
|
||||
public void setHeaderFaxCnt(int headerFaxCnt) {
|
||||
this.headerFaxCnt = headerFaxCnt;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -883,4 +883,10 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
// 마지막 결제수단 SELECT
|
||||
@Override
|
||||
public String selectLastPayMethod(String mberId) throws Exception {
|
||||
return userManageDAO.selectLastPayMethod(mberId);
|
||||
}
|
||||
|
||||
}
|
||||
@ -321,4 +321,8 @@ public class UserManageDAO extends EgovAbstractDAO{
|
||||
return (int) select("userManageDAO.selectUserPrePaymentPGdataCount", userId);
|
||||
}
|
||||
|
||||
// 마지막 결제수단 SELECT
|
||||
public String selectLastPayMethod(String mberId) throws Exception{
|
||||
return (String) select("userManageDAO.selectLastPayMethod", mberId);
|
||||
}
|
||||
}
|
||||
@ -12,6 +12,9 @@ import java.security.PrivateKey;
|
||||
import java.security.PublicKey;
|
||||
import java.security.spec.RSAPublicKeySpec;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@ -106,6 +109,7 @@ import itn.let.lett.service.LetterVO;
|
||||
import itn.let.mjo.addr.service.AddrTransHistService;
|
||||
import itn.let.mjo.addr.service.AddrTransHistVO;
|
||||
import itn.let.mjo.event.service.MjonEventService;
|
||||
import itn.let.mjo.event.service.MjonEventVO;
|
||||
import itn.let.mjo.kisa.service.KisaService;
|
||||
import itn.let.mjo.kisa.service.KisaVO;
|
||||
import itn.let.mjo.mjocommon.MjonForienIpChk;
|
||||
@ -130,6 +134,7 @@ import itn.let.sym.mnu.mpm.service.MenuManageVO;
|
||||
import itn.let.sym.prm.service.EgovProgrmManageService;
|
||||
import itn.let.sym.prm.service.ProgrmManageVO;
|
||||
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||
import itn.let.sym.site.service.JoinSettingVO;
|
||||
import itn.let.sym.site.service.MetaTagVO;
|
||||
import itn.let.sym.site.service.SiteManagerVO;
|
||||
import itn.let.uss.umt.service.EgovMberManageService;
|
||||
@ -1256,6 +1261,16 @@ public class MainController {
|
||||
model.addAttribute("mberManageVO", userManageService.selectUserInfo(mberManageVO));
|
||||
}
|
||||
|
||||
/*
|
||||
* 회원별 단가, 기본 단가, 이벤트 정보 조회
|
||||
* 2025.07.25 이지우 추가
|
||||
* */
|
||||
MberManageVO mberHeaderInfoVO = new MberManageVO();
|
||||
if(loginVO != null) {
|
||||
mberHeaderInfoVO = mberManageService.selectMberHeaderInfo(loginVO.getId());
|
||||
}
|
||||
model.addAttribute("mberHeaderInfoVO", mberHeaderInfoVO);
|
||||
|
||||
return "web/com/webCommonHeader";
|
||||
}
|
||||
|
||||
|
||||
@ -569,10 +569,8 @@
|
||||
on A.ADDR_GRP_ID = mag.ADDR_GRP_ID
|
||||
WHERE
|
||||
A.MBER_ID = #mberId#
|
||||
AND (A.RECV_STATUS = 'Y'
|
||||
or A.RECV_STATUS = 'S'
|
||||
or A.RECV_STATUS is null)
|
||||
AND mag.DELETE_YN = 'N'
|
||||
AND (A.RECV_STATUS IN ('Y', 'S') OR A.RECV_STATUS IS NULL)
|
||||
AND (A.ADDR_GRP_ID IS NULL OR MAG.DELETE_YN = 'N')
|
||||
</select>
|
||||
|
||||
<!-- 주소록 상세 조회 -->
|
||||
@ -1354,34 +1352,32 @@
|
||||
, BOOKMARK
|
||||
, RECV_STATUS
|
||||
)
|
||||
SELECT
|
||||
ADDR_GRP_ID
|
||||
, MBER_ID
|
||||
, ADDR_NM
|
||||
, ADDR_PHONE_NO
|
||||
, ADDR_INFO1
|
||||
, ADDR_INFO2
|
||||
, ADDR_INFO3
|
||||
, ADDR_INFO4
|
||||
, ADDR_COMMENT
|
||||
, FRST_REGIST_PNTTM
|
||||
, FRST_REGISTER_ID
|
||||
, LAST_UPDT_PNTTM
|
||||
, LAST_UPDUSR_ID
|
||||
, DELETE_YN
|
||||
, BOOKMARK
|
||||
, RECV_STATUS
|
||||
FROM TEMP_MJ_ADDR
|
||||
WHERE MBER_ID = #mberId#
|
||||
AND ADDR_GRP_ID = #addrGrpId#
|
||||
AND BOOKMARK = #bookmark#
|
||||
AND ADDR_PHONE_NO NOT IN
|
||||
(
|
||||
SELECT ADDR_PHONE_NO FROM MJ_ADDR
|
||||
WHERE MBER_ID = #mberId#
|
||||
AND ADDR_GRP_ID = #addrGrpId#
|
||||
AND BOOKMARK = #bookmark#
|
||||
)
|
||||
SELECT t.ADDR_GRP_ID,
|
||||
t.MBER_ID,
|
||||
t.ADDR_NM,
|
||||
FN_GETHYPHEN(t.ADDR_PHONE_NO),
|
||||
t.ADDR_INFO1,
|
||||
t.ADDR_INFO2,
|
||||
t.ADDR_INFO3,
|
||||
t.ADDR_INFO4,
|
||||
t.ADDR_COMMENT,
|
||||
t.FRST_REGIST_PNTTM,
|
||||
t.FRST_REGISTER_ID,
|
||||
t.LAST_UPDT_PNTTM,
|
||||
t.LAST_UPDUSR_ID,
|
||||
t.DELETE_YN,
|
||||
t.BOOKMARK,
|
||||
t.RECV_STATUS
|
||||
FROM TEMP_MJ_ADDR AS t
|
||||
LEFT JOIN MJ_ADDR AS m
|
||||
ON m.MBER_ID = t.MBER_ID
|
||||
AND m.ADDR_GRP_ID = t.ADDR_GRP_ID
|
||||
AND m.BOOKMARK = t.BOOKMARK
|
||||
AND replace(m.ADDR_PHONE_NO, '-', '') = replace(t.ADDR_PHONE_NO, '-', '')
|
||||
WHERE t.MBER_ID = #mberId#
|
||||
AND t.ADDR_GRP_ID = #addrGrpId#
|
||||
AND t.BOOKMARK = #bookmark#
|
||||
AND m.MBER_ID IS NULL
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
@ -2184,6 +2184,8 @@
|
||||
, BLINE_CODE AS blineCode
|
||||
, AT_SMISHING_YN AS atSmishingYn
|
||||
, PRE_PAYMENT_YN AS prePaymentYn
|
||||
, BIZ_NO AS bizNo
|
||||
, MBER_EMAIL_ADRES AS mberEmailAdres
|
||||
FROM LETTNGNRLMBER
|
||||
WHERE MBER_ID = #userId#
|
||||
|
||||
@ -3172,6 +3174,7 @@
|
||||
WHERE 1 = 1
|
||||
AND pf.SentEA > 0
|
||||
AND mjf.USER_ID = #userId#
|
||||
AND mjf.RESERVE_C_YN = 'N'
|
||||
|
||||
) AS pay
|
||||
WHERE 1=1
|
||||
@ -3281,7 +3284,7 @@
|
||||
, M.fileName3 AS fileName3
|
||||
, M.orderByCode AS orderByCode
|
||||
, M.msgId AS msgId
|
||||
, M.reqDate AS reqDate
|
||||
, DATE_FORMAT(M.reqDate, '%Y-%m-%d %H:%i') AS reqDate
|
||||
FROM
|
||||
(SELECT
|
||||
DATE_FORMAT(B.REGDATE, '%Y-%m-%d %H:%i' ) AS regDate
|
||||
@ -3322,7 +3325,7 @@
|
||||
/*and A.DEL_FLAG = 'N'*/
|
||||
AND A.USER_ID = #userId#
|
||||
AND B.USER_ID = #userId#
|
||||
/*AND B.RESERVE_C_YN = 'N'*/
|
||||
AND B.RESERVE_C_YN = 'N'
|
||||
ORDER BY 1=1
|
||||
, msgGroupId DESC
|
||||
, sentDate DESC
|
||||
@ -3370,6 +3373,7 @@
|
||||
WHERE 1 = 1
|
||||
AND pf.SentEA > 0
|
||||
AND mjf.USER_ID = #userId#
|
||||
AND mjf.RESERVE_C_YN = 'N'
|
||||
|
||||
) AS pay
|
||||
WHERE 1=1
|
||||
@ -3595,9 +3599,9 @@
|
||||
, MIN(DATE_FORMAT(M.REQ_DATE, '%Y-%m-%d' )) AS minRegDate
|
||||
, M.msgTypeName
|
||||
, M.orderByCode
|
||||
, SUM(IF(M.msgTypeName = '단문(SMS)', 1, 0)) AS shtSendCount
|
||||
, SUM(IF(M.msgTypeName = '장문(LMS)', 1, 0)) AS longSendCount
|
||||
, SUM(IF(M.msgTypeName = '그림(MMS)', 1, 0)) AS pictSendCount
|
||||
, SUM(IF(M.msgTypeName = '단문', 1, 0)) AS shtSendCount
|
||||
, SUM(IF(M.msgTypeName = '장문', 1, 0)) AS longSendCount
|
||||
, SUM(IF(M.msgTypeName = '그림', 1, 0)) AS pictSendCount
|
||||
, SUM(IF(M.msgTypeName = '알림톡', 1, 0)) AS atSendCount
|
||||
, SUM(IF(M.msgTypeName = '친구톡', 1, 0)) AS ftSendCount
|
||||
<!-- , SUM(M.MSG_GROUP_CNT) AS sendCount -->
|
||||
@ -3616,14 +3620,14 @@
|
||||
, B.MSG_TYPE
|
||||
, CASE
|
||||
WHEN B.MSG_TYPE = '6' AND B.FILE_CNT > 0
|
||||
THEN '그림(MMS)'
|
||||
THEN '그림'
|
||||
WHEN B.MSG_TYPE = '6' AND B.FILE_CNT = 0
|
||||
THEN '장문(LMS)'
|
||||
THEN '장문'
|
||||
WHEN B.MSG_TYPE = '8'
|
||||
THEN '알림톡'
|
||||
WHEN B.MSG_TYPE = '9'
|
||||
THEN '친구톡'
|
||||
ELSE '단문(SMS)'
|
||||
ELSE '단문'
|
||||
END msgTypeName
|
||||
, CASE
|
||||
WHEN B.MSG_TYPE = '6' AND B.FILE_CNT > 0
|
||||
|
||||
@ -101,6 +101,7 @@
|
||||
, D.CODE_NM AS rcptTypeTxt
|
||||
, E.CONFIRM_YN AS confirmYn
|
||||
, E.RCPT_TYPE AS rcptType
|
||||
, E.CONFIRM_DATE AS confirmDate
|
||||
, IFNULL(MP.POINT, '0') AS point
|
||||
, EMI.EVENT_PG_MOID AS eventMoid
|
||||
, mber.SMISHING_YN AS smishingYn
|
||||
@ -149,6 +150,7 @@
|
||||
MOID
|
||||
, CONFIRM_YN
|
||||
, RCPT_TYPE
|
||||
, CONFIRM_DATE
|
||||
FROM
|
||||
MJ_TAX
|
||||
WHERE 1=1
|
||||
@ -2373,4 +2375,27 @@
|
||||
|
||||
</select>
|
||||
|
||||
<select id="mjonPayDAO.selectPayDetail" parameterClass="mjonPayVO" resultClass="mjonPayVO">
|
||||
|
||||
SELECT
|
||||
LM.BIZ_NO AS bizNo
|
||||
, LM.MBER_NM AS mberNm
|
||||
, LM.MANAGER_NM AS managerNm
|
||||
, LM.MBTLNUM AS mbtlNum
|
||||
, LM.MBER_EMAIL_ADRES AS email
|
||||
, LM.PRE_PAYMENT_YN AS prePaymentYn
|
||||
, LM.DEPT AS dept
|
||||
, LM.USER_MONEY AS userMoney
|
||||
, MP.REG_DATE AS regDate
|
||||
, MP.AMT AS amt
|
||||
, MP.CASH AS cash
|
||||
, MP.PG_STATUS AS pgStatus
|
||||
FROM LETTNGNRLMBER LM
|
||||
LEFT JOIN MJ_PG MP
|
||||
ON MP.USER_ID = LM.MBER_ID
|
||||
WHERE LM.MBER_ID = #userId#
|
||||
AND MP.MOID = #moid#
|
||||
|
||||
</select>
|
||||
|
||||
</sqlMap>
|
||||
@ -2142,4 +2142,38 @@
|
||||
|
||||
</update>
|
||||
|
||||
<select id="mberManageDAO.selectMberHeaderInfo" resultClass="itn.let.uss.umt.service.MberManageVO" parameterClass="String">
|
||||
SELECT
|
||||
L.SHORT_PRICE AS shortPrice
|
||||
, L.LONG_PRICE AS longPrice
|
||||
, L.PICTURE_PRICE AS picturePrice
|
||||
, L.PICTURE2_PRICE AS picture2Price
|
||||
, L.PICTURE3_PRICE AS picture3Price
|
||||
, L.PRE_PAYMENT_YN AS prePaymentYn
|
||||
, L.USER_MONEY AS userMoney
|
||||
, IFNULL(MEMI.EVENT_SHORT_PRICE, 0) AS eventShortPrice
|
||||
, IFNULL(MEMI.EVENT_LONG_PRICE, 0) AS eventLongPrice
|
||||
, IFNULL(MEMI.EVENT_PICTURE_PRICE, 0) AS eventPicturePrice
|
||||
, IFNULL(MEMI.EVENT_PICTURE2_PRICE, 0) AS eventPicture2Price
|
||||
, IFNULL(MEMI.EVENT_PICTURE3_PRICE, 0) AS eventPicture3Price
|
||||
, IFNULL(MEMI.EVENT_REMAIN_CASH, 0) AS eventRemainCash
|
||||
, DATE_FORMAT(MEMI.EVENT_END_DATE, '%Y-%m-%d') AS eventEndDate
|
||||
FROM
|
||||
LETTNGNRLMBER L
|
||||
LEFT JOIN
|
||||
MJ_EVENT_MBER_INFO MEMI
|
||||
ON L.MBER_ID = MEMI.MBER_ID
|
||||
AND MEMI.EVENT_INFO_ID = (
|
||||
SELECT
|
||||
MAX(EVENT_INFO_ID)
|
||||
FROM
|
||||
MJ_EVENT_MBER_INFO
|
||||
WHERE
|
||||
MBER_ID = #mberID#
|
||||
AND EVENT_STATUS = 'Y'
|
||||
|
||||
)
|
||||
WHERE L.MBER_ID = #mberId#
|
||||
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -1459,4 +1459,14 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 마지막 결제수단 SELECT -->
|
||||
<select id="userManageDAO.selectLastPayMethod" parameterClass="String" resultClass="String">
|
||||
SELECT
|
||||
IFNULL(PAY_METHOD, '') AS nextPayMethod
|
||||
FROM MJ_PG
|
||||
WHERE
|
||||
USER_ID = #userId#
|
||||
ORDER BY REG_DATE DESC LIMIT 1
|
||||
</select>
|
||||
|
||||
</sqlMap>
|
||||
|
||||
@ -112,15 +112,16 @@ function insertAddrAjax() {
|
||||
// return;
|
||||
//}
|
||||
|
||||
if(!checkHpNum(form.addrPhoneNo.value)){//휴대폰 유효성 검사
|
||||
if(!checkNorPhoneNum(form.addrPhoneNo.value)){//일반전화 유효성 검사
|
||||
|
||||
if(!isValidPhoneNumber(form.addrPhoneNo.value)){//일반전화 유효성 검사
|
||||
const formattedNumber =formatPhoneNumber(form.addrPhoneNo.value); // 번호 표준화
|
||||
if(!isValidPhoneNumber(formattedNumber)){
|
||||
alert("잘못된 휴대폰번호 또는 일반전화 번호 입니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//휴대폰번호 포맷 맞추기
|
||||
form.addrPhoneNo.value = formatPhoneNumber(form.addrPhoneNo.value);
|
||||
|
||||
var data = new FormData(form);
|
||||
|
||||
|
||||
@ -1398,14 +1398,14 @@ function actionLogin_end(){
|
||||
<div class="inner">
|
||||
<ul class="menu_left">
|
||||
<li><a href="#" id="favorite" ><i class="hdTop_fav"></i>즐겨찾기추가</a></li>
|
||||
<li><a href="<c:out value='/web/user/mberInfoIndex.do'/>" ><i class="hdTop_mypage"></i>마이페이지</a></li>
|
||||
<li><a href="<c:out value='/web/cop/bbs/NoticeList.do'/>" ><i class="hdTop_center"></i>고객센터</a></li>
|
||||
<li><a href="<c:out value='/web/user/mberInfoChange.do'/>" ><i class="hdTop_mypage"></i>마이페이지</a></li>
|
||||
<li><a href="<c:out value='/web/cop/bbs/QnaList.do'/>" ><i class="hdTop_center"></i>1:1 문의</a></li>
|
||||
</ul>
|
||||
<ul class="menu_right">
|
||||
<li><a href="#" onclick="location.href='/web/member/pay/PayView.do'" >충전하기</a></li>
|
||||
<li class="SortLine"><a href="/web/pay/PayGuide.do" >요금안내</a></li>
|
||||
<li class="SortLine"><a href="/web/cop/bbs/FaqList.do" >이용안내</a></li>
|
||||
<li class="SortLine"><a href="/web/cop/bbs/QnaList.do" >1:1 문의</a></li>
|
||||
<li class="SortLine"><a href="/web/cop/bbs/NoticeList.do" >고객센터</a></li>
|
||||
<li class="SortLine"><a href="/web/cop/bbs/SuggestList.do" >불편신고</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -1627,7 +1627,9 @@ function actionLogin_end(){
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="<c:out value='/web/user/mberInfoIndex.do'/>" >마이페이지</a></dt>
|
||||
<%-- 250724 마이페이지 대시보드 삭제 --%>
|
||||
<%-- <dt><a href="<c:out value='/web/user/mberInfoIndex.do'/>" >마이페이지</a></dt> --%>
|
||||
<dt><a href="<c:out value='/web/user/mberInfoChange.do'/>" >마이페이지</a></dt>
|
||||
<dd>
|
||||
<ul>
|
||||
<li><a href="<c:out value='/web/user/mberInfoChange.do'/>" >회원정보 변경</a></li>
|
||||
@ -1637,7 +1639,7 @@ function actionLogin_end(){
|
||||
</c:if>
|
||||
<li><a href="<c:out value='/web/user/passwordChange.do'/>" >비밀번호 변경</a></li>
|
||||
<li><a href="<c:out value='/web/user/sendNumberManage.do'/>" >발신번호 관리</a></li>
|
||||
<li><a href="<c:out value='/web/user/notifyManage.do'/>" >알림설정</a></li>
|
||||
<%-- <li><a href="<c:out value='/web/user/notifyManage.do'/>" >알림설정</a></li> --%>
|
||||
<%-- <li><a href="<c:out value='/web/user/mberSecession.do'/>" >회원탈퇴</a></li> --%>
|
||||
<%-- <li><a href="<c:out value='/web/user/kisaReport.do'/>" >KISA 신고</a></li> --%>
|
||||
</ul>
|
||||
@ -1652,7 +1654,7 @@ function actionLogin_end(){
|
||||
<li><a href="<c:out value='/web/pay/PayGuide.do'/>" >요금안내/견적내기</a></li>
|
||||
<li><a href="<c:out value='/web/member/pay/PayView.do'/>" >결제하기</a></li>
|
||||
<li><a href="<c:out value='/web/member/pay/PayList.do'/>" >요금 결제내역</a></li>
|
||||
<li><a href="<c:out value='/web/member/pay/PayUserSWList.do'/>" >요금 사용내역</a></li>
|
||||
<li><a href="<c:out value='/web/member/pay/payUserSWList.do'/>" >요금 사용내역</a></li>
|
||||
<!-- 현금영수증 자동발행 주석 -->
|
||||
<%-- <li><a href="<c:out value='/web/member/pay/BillPub.do'/>" >계산서/현금영수증 발행 등록</a></li> --%>
|
||||
<li><a href="<c:out value='/web/member/pay/BillPub.do'/>" >세금계산서 발행</a></li>
|
||||
@ -1744,8 +1746,9 @@ function actionLogin_end(){
|
||||
<div class="login_left">
|
||||
<div class="login_info">
|
||||
<input type="hidden" id="loginId" name="loginId" value="${LoginVO.id}">
|
||||
<i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i>
|
||||
<!-- <i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i> -->
|
||||
<div class="login2_name" onclick="location.href='/web/user/mberInfoChange.do'" style="cursor:pointer;">
|
||||
<i class="icon_user"></i>
|
||||
<p><c:out value="${LoginVO.name}"/></p>
|
||||
<c:choose>
|
||||
<c:when test="${LoginVO.dept == 'p'}">
|
||||
@ -1765,8 +1768,8 @@ function actionLogin_end(){
|
||||
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
|
||||
</a> -->
|
||||
</div>
|
||||
<button type="button" class="btnType btnType3" onclick="location.href='/web/user/mberInfoIndex.do'">마이페이지</button>
|
||||
<button type="button" class="btnType btnType2" onclick="location.href='/web/uat/uia/actionLogout.do'">로그아웃</button>
|
||||
<!-- <button type="button" class="btnType btnType3" onclick="location.href='/web/user/mberInfoIndex.do'">마이페이지</button> -->
|
||||
<button type="button" class="btnType btn_36 fill_gray" onclick="location.href='/web/uat/uia/actionLogout.do'">로그아웃</button>
|
||||
|
||||
|
||||
<div class="security_box">
|
||||
@ -1780,23 +1783,79 @@ function actionLogin_end(){
|
||||
<div class="check_money">
|
||||
<div class="holdingsum_box">
|
||||
<i></i>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
|
||||
<p>보유잔액<!-- <em>(캐시)</em> --> <span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원</p>
|
||||
<div class="user_money_wrap">
|
||||
보유잔액
|
||||
<div class="hover_content_wrap">
|
||||
<i class="qmMark">?</i>
|
||||
<div class="hover_content">
|
||||
<p class="hover_content_title">
|
||||
<img src="/publish/images/content/icon_mypage_message.png" alt=""> 나의단가 <span>(발송가능 건수)</span>
|
||||
</p>
|
||||
<ul class="send_available_number">
|
||||
<li>
|
||||
<p class="title">· 단문</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortPrice}" var="shortPrice" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${shortPrice}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortCnt}" var="shortCnt" />
|
||||
(<c:out value="${shortCnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 장문</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerLongPrice}" var="LongPrice" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${LongPrice}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerLongCnt}" var="LongCnt" />
|
||||
(<c:out value="${LongCnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 그림(1장)</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicturePrice}" var="picturePrice" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picturePrice}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPictureCnt}" var="pictureCnt" />
|
||||
(<c:out value="${pictureCnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 그림(2장)</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Price}" var="picture2Price" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picture2Price}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Cnt}" var="picture2Cnt" />
|
||||
(<c:out value="${picture2Cnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 그림(3장)</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Price}" var="picture3Price" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picture3Price}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Cnt}" var="picture3Cnt" />
|
||||
(<c:out value="${picture3Cnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 알림톡</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtPrice}" var="kakaoAtPrice" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${kakaoAtPrice}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtCnt}" var="kakaoAtCnt" />
|
||||
(<c:out value="${kakaoAtCnt}"/>건)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="title">· 팩스</p>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxPrice}" var="faxPrice" />
|
||||
<p class="number"><span class="c_002c9a fwBold"><c:out value="${faxPrice}"/></span>원
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxCnt}" var="faxCnt" />
|
||||
(<c:out value="${faxCnt}"/>건)</p>
|
||||
</li>
|
||||
</ul>
|
||||
<c:if test="${prePaymentYn eq 'Y' and mberHeaderInfoVO.eventLeftDay > 0}">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.eventRemainCash}" var="eventRemainCash" />
|
||||
<div class="event_term"><p>이벤트<span class="fwBold">(D-${mberHeaderInfoVO.eventLeftDay})</span></p><p><span class="fwBold price">${eventRemainCash}</span>원</p></div>
|
||||
</c:if>
|
||||
<c:if test="${prePaymentYn eq 'N'}">
|
||||
<dl>
|
||||
<dd>후불제 고객의 보유잔액(캐시)은 당월 발송 가능<br>금액을 말하며 <span>매월 1일 자동으로 충전</span>됩니다.</dd>
|
||||
</dl>
|
||||
<div class="event_term" style="display:block">후불제(매월 1일 자동충전)</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
|
||||
<span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원
|
||||
</ >
|
||||
</div>
|
||||
<button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do'">충전</button>
|
||||
<div class="account_box">
|
||||
<button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do?tabType=2'">전용계좌</button>
|
||||
<c:if test="${not empty myBankList}">
|
||||
<dl>
|
||||
<dt>전용계좌</dt>
|
||||
<dd><c:out value="${myBankList[0].codeNm}"/> <c:out value="${myBankList[0].acctNo}"/></dd>
|
||||
</dl>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<div class="point">
|
||||
@ -1805,7 +1864,6 @@ function actionLogin_end(){
|
||||
<p><!-- <em>적립</em> -->포인트 <span class="fwMd"><c:out value="${commaPoint}"/></span>원</p>
|
||||
<button type="button" data-tooltip="popup04" class="btnType btnType3">교환</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="event">
|
||||
<span><i></i>이달의 이벤트</span>
|
||||
<button type="button" class="btnType btnType2" onclick="location.href='/web/cop/bbs/EventList.do'">GO</button>
|
||||
|
||||
@ -26,13 +26,6 @@
|
||||
<p class="prev_p"><img src="/publish/images/content/kakao_prev_icon.png" alt=""><c:out value="${searchVO.yellowId}"/></p>
|
||||
<!-- 텍스트 미리보기 -->
|
||||
<div class="text_preview">
|
||||
<%--< div class="allimtalk_title">
|
||||
<img src="/publish/images/content/icon_allimtalk.png" alt="">
|
||||
<c:choose>
|
||||
<c:when test="${msgType eq '8'}">알림톡 도착</c:when>
|
||||
<c:when test="${msgType eq '9'}">친구톡 도착</c:when>
|
||||
</c:choose>
|
||||
</div> --%>
|
||||
<c:if test="${resultMsgDetail.adFlag eq 'Y'}">
|
||||
<p class="friend_talk_title"><span>(광고)</span></p>
|
||||
</c:if>
|
||||
@ -92,8 +85,8 @@
|
||||
<!-- <div class="tab_phone" id="tab_phone_2" style="display:none" > -->
|
||||
<div class="phoneIn">
|
||||
<div>
|
||||
<p class="prev_p"><img src="/publish/images/search.png"> 문자내용</p>
|
||||
<div class="text_length2 clearfix">
|
||||
<span>발송일시 : <fmt:formatDate value="${parsedDate}" pattern="yyyy-MM-dd HH:mm:ss"/></span>
|
||||
<c:if test="${resultMsgDetail.bizKakaoResendYn eq 'Y'}">
|
||||
<c:choose>
|
||||
<c:when test="${resultMsgDetail.bizKakaoResendType eq 'SMS'}">
|
||||
@ -105,15 +98,15 @@
|
||||
</c:choose>
|
||||
<%-- <c:choose>
|
||||
<c:when test="${resultMsgDetail.bizKakaoResendTypeCnt > 1}">
|
||||
<span class="msg_com msg_short">단문</span>
|
||||
<span class="msg_com msg_long">장문</span>
|
||||
<span class="msg_com msg_short" style="float:right;">단문</span>
|
||||
<span class="msg_com msg_long" style="float:right;">장문</span>
|
||||
</c:when>
|
||||
<c:when test="${resultMsgDetail.bizKakaoResendTypeCnt < 2
|
||||
&& resultMsgDetail.bizKakaoResendType eq 'SMS'}">
|
||||
<span class="msg_com msg_short">단문</span>
|
||||
<span class="msg_com msg_short" style="float:right;">단문</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="msg_com msg_long">장문</span>
|
||||
<span class="msg_com msg_long" style="float:right;">장문</span>
|
||||
</c:otherwise>
|
||||
</c:choose> --%>
|
||||
</c:if>
|
||||
|
||||
@ -273,7 +273,7 @@ $(document).ready(function(){
|
||||
</div>
|
||||
|
||||
<!-- 관리자가 문자 상세에서 이용정지 처리 시 내용(문자 내용 안내) -->
|
||||
<c:if test="${not empty spamMemberInfoVO.msgGroupId}">
|
||||
<%-- <c:if test="${not empty spamMemberInfoVO.msgGroupId}">
|
||||
<div class="input_list listType2">
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">회원님의 아이디로 발송된 <strong>정보통신망법 제50조 위반</strong> 문자내용</div>
|
||||
@ -323,7 +323,7 @@ $(document).ready(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if> --%>
|
||||
|
||||
<!-- 관리자가 사용자 상세에서 이용정지 처리 시 내용(관리자가 작성한 사유 안내) -->
|
||||
<c:if test="${not empty spamMemberInfoVO.smiMemo}">
|
||||
|
||||
@ -495,7 +495,7 @@
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/payUserSWList.do'">요금 사용내역</button></li>
|
||||
<!-- <li class="tab active"><button type="button">계산서/현금영수증 발행 등록</button></li> -->
|
||||
<li class="tab active"><button type="button">세금계산서 발행 등록</button></li>
|
||||
</ul><!--// tab button -->
|
||||
|
||||
@ -68,22 +68,60 @@ function f_print(){
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>수<span class="blank"></span>신</th>
|
||||
<td>${mberNm}</td>
|
||||
<th>등록번호</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${mberManageVO.dept eq'c'}">
|
||||
<c:out value="${mberManageVO.bizNo}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>참<span class="blank"></span>조</th>
|
||||
<td>담당자 ${managerNm} 님</td>
|
||||
<th>상<span class="blank"></span>호</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${mberManageVO.dept eq'c'}">
|
||||
<c:out value="${mberManageVO.mberNm}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>거래일자</th>
|
||||
<td>${startDate}~${endDate}</td>
|
||||
<th>성<span class="blank"></span>명</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${mberManageVO.dept eq'c'}">
|
||||
<c:out value="${mberManageVO.managerNm}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${mberManageVO.mberNm}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>전화번호</th>
|
||||
<td><c:out value="${mberManageVO.moblphonNo}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.85px;">이 메 일</th>
|
||||
<td><c:out value="${mberManageVO.mberEmailAdres}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align:center;"><span><c:out value="${mberManageVO.mberNm}"/></span>님의 사용내역(<c:out value="${startDate}"/>~<c:out value="${endDate}"/>)을 아래와 같이 확인합니다.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont2 clearfix">
|
||||
<%-- <div class="cont2 clearfix">
|
||||
<p>총 사용금액</p>
|
||||
<c:choose>
|
||||
<c:when test="${searchVO.addVatType eq 'N'}">
|
||||
@ -93,24 +131,22 @@ function f_print(){
|
||||
<p><span>${addTaxSumPrice}</span> 원(VAT 포함)</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="cont3">
|
||||
<p>(단위 : 원, 건)</p>
|
||||
<div class="est_table2_wrap">
|
||||
<table class="est_table2">
|
||||
<caption>품목, 발송건수, 공급가액, 부가세, 금액 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width:20%;">
|
||||
<col style="width:20%;">
|
||||
<col style="width:20%;">
|
||||
<col style="width:30%;">
|
||||
<col style="width:30%;">
|
||||
<col style="width:auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">품목</th>
|
||||
<th scope="col">문자유형</th>
|
||||
<th scope="col">발송건수</th>
|
||||
<th scope="col">공급가액</th>
|
||||
<th scope="col">금액</th>
|
||||
<th scope="col">사용금액</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -120,15 +156,15 @@ function f_print(){
|
||||
<td>${result.msgTypeName}</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${result.msgTypeName eq '단문(SMS)'}">
|
||||
<c:when test="${result.msgTypeName eq '단문'}">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.shtSendCount}" var="shtSendCount" />
|
||||
<c:out value="${shtSendCount}"/>
|
||||
</c:when>
|
||||
<c:when test="${result.msgTypeName eq '장문(LMS)'}">
|
||||
<c:when test="${result.msgTypeName eq '장문'}">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.longSendCount}" var="longSendCount" />
|
||||
<c:out value="${longSendCount}"/>
|
||||
</c:when>
|
||||
<c:when test="${result.msgTypeName eq '그림(MMS)'}">
|
||||
<c:when test="${result.msgTypeName eq '그림'}">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.pictSendCount}" var="pictSendCount" />
|
||||
<c:out value="${pictSendCount}"/>
|
||||
</c:when>
|
||||
@ -144,10 +180,6 @@ function f_print(){
|
||||
<%-- <fmt:formatNumber type="number" maxFractionDigits="3" value="${result.sendCount}" var="sendCount" />
|
||||
<c:out value="${sendCount}"/> --%>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.supplyPrice}" var="supplyPrice" />
|
||||
<c:out value="${supplyPrice}"/>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.totalPrice}" var="totalPrice" />
|
||||
<c:out value="${totalPrice}"/>
|
||||
@ -188,52 +220,13 @@ function f_print(){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cont4">
|
||||
<table class="est_table">
|
||||
<caption>공급가액, 총 결제금액에 대한 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 100px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>공급가액</th>
|
||||
<td><span>${supplySumPrice}</span></td>
|
||||
</tr>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultList || not empty payUserSumFaxList}">
|
||||
<c:choose>
|
||||
<c:when test="${searchVO.addVatType eq 'N'}">
|
||||
<tr class="total_price">
|
||||
<th>총 사용금액</th>
|
||||
<td><span>${totalSumPrice}</span></td>
|
||||
</tr>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<th>세액(부가세)</th>
|
||||
<td>${addTax}</td>
|
||||
</tr>
|
||||
<tr class="total_price">
|
||||
<th>총 사용금액</th>
|
||||
<td><span>${addTaxSumPrice}</span></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:if test="${ empty resultList && empty payUserSumFaxList}">
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
사용내역이 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="cont2 clearfix">
|
||||
<p>총 사용금액 <span>(VAT 별도)</span></p>
|
||||
<p><span>
|
||||
<c:out value="${totalSumPrice}"/>
|
||||
</span>원</p>
|
||||
</div>
|
||||
|
||||
<div class="cont5">
|
||||
<p><span>${year} 년 <span>${month}</span> 월 <span>${day}</span> 일</p>
|
||||
<div>
|
||||
|
||||
@ -408,7 +408,7 @@ function getMberGrdChk() {
|
||||
<li class="tab active"><button type="button">요금안내/견적내기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/payUserSWList.do'">요금 사용내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
|
||||
@ -141,21 +141,11 @@ function fnShowPointPrintPopup(){
|
||||
}
|
||||
|
||||
//환불요청 내역 프린트 출력 팝업
|
||||
function fnShowRefundPrintPopup(){
|
||||
|
||||
//날자 체크
|
||||
if( $('#startDate').val() != '' && $('#endDate').val() != '' ){
|
||||
var iChkBeginDe = Number($('#startDate').val().replaceAll("/", ""));
|
||||
var iChkEndDe = Number($('#endDate').val().replaceAll("/", ""));
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("기간설정의 시작일자는 종료일자 보다 클수 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
function fnShowRefundPrintPopup(moid){
|
||||
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '840';
|
||||
var popup_ht = '900';
|
||||
var popup_wid = '790';
|
||||
var popup_ht = '800';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
@ -165,6 +155,23 @@ function fnShowRefundPrintPopup(){
|
||||
$("#listForm").attr({"action":"/web/member/pay/PayPrintRefundListPopUpAjax.do", "method":"post"}).submit();
|
||||
}
|
||||
|
||||
//거래명세서 팝업
|
||||
function fnShowPayInvoicePrintPopup(moid){
|
||||
|
||||
|
||||
//만들려는 팝업의 크기
|
||||
var popup_wid = '790';
|
||||
var popup_ht = '800';
|
||||
|
||||
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
|
||||
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
|
||||
|
||||
document.invoiceForm.moid.value = moid;
|
||||
|
||||
$("#invoiceForm").attr("target","invoicePrint");
|
||||
window.open('', 'invoicePrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
||||
$("#invoiceForm").attr({"action":"/web/member/pay/payInvoicePopupAjax.do", "method":"post"}).submit();
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- content 영역 -->
|
||||
@ -176,7 +183,7 @@ function fnShowRefundPrintPopup(){
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayView.do'">결제하기</button></li>
|
||||
<li class="tab active"><button type="button" >요금 결제내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/payUserSWList.do'">요금 사용내역</button></li>
|
||||
<!-- 현금영수증 자동발행 주석 -->
|
||||
<!-- <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">계산서/현금영수증 발행 등록</button></li> -->
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
|
||||
|
||||
@ -409,13 +409,13 @@ function getMberGrdChk() {
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="select_btnWrap">
|
||||
<div class="add_text2" style="line-height: 1.3em;">
|
||||
※ 요금 결제내역은 결제일을 기준으로 최대 6개월까지만 조회가능합니다.
|
||||
<br />
|
||||
<c:choose>
|
||||
<c:when test="${prePaymentYn eq 'Y'}">
|
||||
※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다.
|
||||
※ 간편결제 영수증은 결제하신 서비스를 통해 제공됩니다.<br />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
※ 후불제 고객의 사용금액 결제수단은 계좌이체만 가능합니다. <br />
|
||||
@ -423,6 +423,7 @@ function getMberGrdChk() {
|
||||
<p class="accountinfo"><span>-입금은행:</span>우리은행<span>-입금계좌:</span>1005-904-154328<span>-받는사람:</span>주식회사 아이티앤</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
※ 거래명세서는 세금계산서 발행일로부터 30일 이내에만 출력 가능합니다.
|
||||
</div>
|
||||
<div style="padding-top: 10px;">
|
||||
<button type="button" class="level_btn" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;">
|
||||
@ -447,15 +448,13 @@ function getMberGrdChk() {
|
||||
<div class="tb_wrap pay3_list">
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<%-- <col style="width: 40px;"> --%>
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<%-- <col style="width: 30%;"> --%>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 25%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -506,7 +505,25 @@ function getMberGrdChk() {
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultList}">
|
||||
<!-- 오늘날짜 - 거래명세서 버튼 조건으로 사용 -->
|
||||
<c:set var="now" value="<%=new java.util.Date()%>" />
|
||||
|
||||
<c:forEach var="result" items="${resultList}" varStatus="status">
|
||||
<!-- 거래명세서 버튼 조건(250723)
|
||||
1.전용계좌 or 즉시이체
|
||||
2.세금계산서 발행 완료 이후 30일간 노출
|
||||
3.발행 최대 횟수 2회 -->
|
||||
<c:set var="invoiceYn" value="N"/>
|
||||
<c:if test="${(result.payMethod eq 'BANK' or result.payMethod eq 'VBANK' or result.payMethod eq 'AFTERPAY')
|
||||
and (result.confirmYn eq 'Y' and result.rcptType eq '9')}">
|
||||
<c:set var="confirmDateStr" value="${fn:substring(result.confirmDate,0,10)}" />
|
||||
<fmt:parseDate value="${confirmDateStr}" pattern="yyyy-MM-dd" var="confirmDateObj" />
|
||||
<c:set var="dayDiff" value="${(now.time - confirmDateObj.time) / (1000*60*60*24)}" />
|
||||
<c:if test="${dayDiff <= 31}">
|
||||
<c:set var="invoiceYn" value="Y"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
<tr class="tType3_bd">
|
||||
<%-- <td>
|
||||
<label for="" class="label">한 줄 전체 선택</label> <input type="checkbox" name="eachChk">
|
||||
@ -628,7 +645,7 @@ function getMberGrdChk() {
|
||||
</c:if>
|
||||
<!-- 발행완료 -->
|
||||
<c:if test="${result.confirmYn eq 'Y'}">
|
||||
<c:if test="${result.rcptType eq '9'}">
|
||||
<c:if test="${result.rcptType eq '9' and invoiceYn eq 'N'}">
|
||||
<p class="fwRg c_002c9a">세금계산서 발행완료</p>
|
||||
</c:if>
|
||||
<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
|
||||
@ -694,7 +711,7 @@ function getMberGrdChk() {
|
||||
</c:if>
|
||||
<!-- 발행완료 -->
|
||||
<c:if test="${result.confirmYn eq 'Y'}">
|
||||
<c:if test="${result.rcptType eq '9'}">
|
||||
<c:if test="${result.rcptType eq '9' and invoiceYn eq 'N'}">
|
||||
<p class="fwRg c_002c9a">세금계산서 발행완료</p>
|
||||
</c:if>
|
||||
<c:if test="${result.rcptType eq '1' || result.rcptType eq '2'}">
|
||||
@ -713,6 +730,12 @@ function getMberGrdChk() {
|
||||
</c:if>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<c:if test="${invoiceYn eq 'Y'}">
|
||||
<!-- <button class="btnType btnType20 btn_use_status" onclick="window.open('/publish/transaction_statement.html','','width=790,height=800')">거래명세서</button> -->
|
||||
<button class="btnType btnType20 btn_use_status" onclick="fnShowPayInvoicePrintPopup('<c:out value="${result.moid}"/>'); return false;">거래명세서</button>
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
@ -1065,4 +1088,8 @@ function getMberGrdChk() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 거래명세서 팝업 -->
|
||||
<form id="invoiceForm" name="invoiceForm" method="post">
|
||||
<input type="hidden" id="moid" name="moid" value=""/>
|
||||
</form>
|
||||
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 끝 -->
|
||||
|
||||
@ -24,6 +24,9 @@ var lastfulstday = "";
|
||||
var lastfuledday = "";
|
||||
var thisfulstlday = "";
|
||||
var thisfuledtlday = "";
|
||||
var threefulstday = "";
|
||||
var threefuledday = "";
|
||||
|
||||
$(document).ready(function(){
|
||||
payUserListAjax(1);
|
||||
var date = new Date() ;
|
||||
@ -47,8 +50,34 @@ $(document).ready(function(){
|
||||
thisYearStart = date.getFullYear() + "/01/01" ;
|
||||
thisYearEnd = date.getFullYear() + "/12/31" ;
|
||||
|
||||
//시작일 3개월 / 종료일 현재 조회
|
||||
var threeMonthAgo = new Date(date);
|
||||
threeMonthAgo.setMonth(threeMonthAgo.getMonth() - 3);
|
||||
threeMonthAgo.setDate(threeMonthAgo.getDate() + 1); //하루 더하기
|
||||
|
||||
threefulstday = threeMonthAgo.getFullYear() + "/";
|
||||
threefulstday += (threeMonthAgo.getMonth() + 1) < 10 ? "0" + (threeMonthAgo.getMonth() + 1) : (threeMonthAgo.getMonth() + 1) + "";
|
||||
threefulstday += "/";
|
||||
threefulstday += threeMonthAgo.getDate() < 10 ? "0" + threeMonthAgo.getDate() : threeMonthAgo.getDate();
|
||||
|
||||
threefuledday = date.getFullYear() + "/";
|
||||
threefuledday += (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1) + "";
|
||||
threefuledday += "/";
|
||||
threefuledday += date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
||||
|
||||
$(document).on('change','#pageUnitS', function(){
|
||||
setPageUnit($(this).val());
|
||||
|
||||
payUserListAjax(1);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function setPageUnit(val){
|
||||
$('#pageUnit').val(val);
|
||||
}
|
||||
|
||||
// 기간 요일 지정
|
||||
function setCalVal(val,targetObj){
|
||||
$('input[name='+targetObj+']').val(val) ;
|
||||
@ -61,10 +90,16 @@ function payUserListAjax(pageNo){
|
||||
return;
|
||||
};
|
||||
|
||||
if(!fn_G_limitDateChk("startDate", 3)){
|
||||
return;
|
||||
};
|
||||
|
||||
document.listForm.pageIndex.value = pageNo;
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){
|
||||
//조회 완료 인지를 위하여 hide show로 화면 변화 추가
|
||||
$("#payUserListLoad").hide();
|
||||
$("#payUserListLoad").load("/web/member/pay/payUserSWListAjax.do", sendData ,function(response, status, xhr){
|
||||
$("#payUserListLoad").show();
|
||||
});
|
||||
}
|
||||
|
||||
@ -74,7 +109,7 @@ function payUserListTabMoveAjax(pageNo){
|
||||
|
||||
document.listForm.pageIndex.value = pageNo;
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#payUserListLoad").load("/web/member/pay/PayUserSWListAjax.do", sendData ,function(response, status, xhr){
|
||||
$("#payUserListLoad").load("/web/member/pay/payUserSWListAjax.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
|
||||
@ -92,42 +127,6 @@ function payUserTab(obj, pageType){
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function getUsedCashTotList(){
|
||||
var sendData = {
|
||||
"startDate" : $("#startDate").val(),
|
||||
"endDate" : $("#endDate").val()
|
||||
};
|
||||
|
||||
console.log('sendData : ', sendData);
|
||||
// url: '/web/member/pay/getUsedCashTotList.do',
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/web/member/pay/getUsedCashTotList.do' />",
|
||||
data: sendData,
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
console.log('data :: ', data);
|
||||
if(data.status == 'OK') {
|
||||
// 성공 처리
|
||||
} else {
|
||||
// 오류 처리
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
console.error("AJAX Error:", textStatus, errorThrown);
|
||||
console.error("Response:", jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 윈도우팝업 열기 */
|
||||
function infoPop(pageUrl){
|
||||
document.infoPopForm.pageType.value = pageUrl;
|
||||
@ -534,6 +533,7 @@ function fnRevDetailPop03(msgGroupId){
|
||||
<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}'/>"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="10"/>
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
@ -543,9 +543,9 @@ function fnRevDetailPop03(msgGroupId){
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="${endDate }" 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" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
|
||||
<button type="button" class="btnType6" onclick="payUserListAjax(1); return false;">조회</button>
|
||||
<span class="reqTxt4">
|
||||
<span class="vMiddle">*</span> 조회기간의 사용내역만 보여집니다.
|
||||
|
||||
@ -91,8 +91,39 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
|
||||
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
|
||||
/* 250530 - 거래명세서, 사용내역서 분리 */
|
||||
function fnShowPrintPopup() {
|
||||
//만들려는 팝업의 크기
|
||||
var url = "printMsgUsageDetailsAjax.do";
|
||||
var popup_wid = '790';
|
||||
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(($('#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() {
|
||||
//만들려는 팝업의 크기
|
||||
var url = "";
|
||||
var popup_wid = '830';
|
||||
@ -131,7 +162,7 @@ function fnShowPrintPopup() {
|
||||
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() {
|
||||
@ -214,41 +245,48 @@ function fnShowPdfPrintPopup(){
|
||||
<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}" />" />
|
||||
<input type="hidden" id="addVatType" name="addVatType" value="N" />
|
||||
<div class="list_info">
|
||||
<p>총 <span>${paginationInfo.totalRecordCount}</span>건 (<fmt:formatNumber value="${totSuccSendPrice}" pattern="" /> 원)</p>
|
||||
<div>
|
||||
<button type="button" class="print_btn" onclick="javascript:fnPayUserPrintPopup();">
|
||||
<!-- <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> -->
|
||||
<c:choose>
|
||||
<c:when test="${not empty payUserSWList}">
|
||||
<button type="button" class="btnType btn_36 border_gray btnType12" onclick="fnShowPrintPopup(); return false;">사용내역서</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType btn_36 border_gray btnType12" onclick="alert('선택한 조회기간의 요금사용내역이 없습니다.');">사용내역서</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="excel_btn">
|
||||
<i class="downroad"></i>엑셀 다운로드
|
||||
</button>
|
||||
<label for="pageUnitS" class="label">검색조건 선택</label>
|
||||
<select id="pageUnitS" class="selType2">
|
||||
<option value="10" <c:if test="${paginationInfo.recordCountPerPage == '10'}">selected</c:if> >10줄</option>
|
||||
<option value="20" <c:if test="${paginationInfo.recordCountPerPage == '20'}">selected</c:if> >20줄</option>
|
||||
<option value="30" <c:if test="${paginationInfo.recordCountPerPage == '30'}">selected</c:if> >30줄</option>
|
||||
<option value="100" <c:if test="${paginationInfo.recordCountPerPage == '100'}">selected</c:if> >100줄</option>
|
||||
</select>
|
||||
</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: auto;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;"> --%>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 16%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<%-- <th rowspan="2">
|
||||
<label for="" class="label">전체 선택</label>
|
||||
<input type="checkbox" id="chkAll">
|
||||
</th> --%>
|
||||
<th rowspan="2">
|
||||
발송일시
|
||||
<div class="sort_wrap">
|
||||
@ -256,28 +294,18 @@ function fnShowPdfPrintPopup(){
|
||||
</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>반환(실패)</th> -->
|
||||
<!-- <th colspan="2">잔액</th> -->
|
||||
<th colspan="2">발송건수</th>
|
||||
<th rowspan="2">금액(원)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>충전금</th>
|
||||
<!-- <th>포인트</th> -->
|
||||
<!-- <th>캐시</th> -->
|
||||
<!-- <th>포인트</th> -->
|
||||
<!-- <th>충전금</th>
|
||||
<th>포인트</th> -->
|
||||
<th>성공</th>
|
||||
<th style="border-right:1px solid #ccc;">실패</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -285,10 +313,6 @@ function fnShowPdfPrintPopup(){
|
||||
<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.reqDate}"/></p>
|
||||
</td>
|
||||
@ -339,11 +363,11 @@ function fnShowPdfPrintPopup(){
|
||||
<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 class="fwRg c_222">
|
||||
<c:out value="${payUserInfo.failSendCnt}"/>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
@ -352,58 +376,12 @@ function fnShowPdfPrintPopup(){
|
||||
<c:out value="${succCash}"/>
|
||||
</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="5">
|
||||
<td colspan="6">
|
||||
검색 결과가 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
@ -412,7 +390,9 @@ function fnShowPdfPrintPopup(){
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="publish_btn clearfix">
|
||||
|
||||
<!-- 250530 - 거래명세서, 사용내역서 분리 -->
|
||||
<%-- <div class="publish_btn clearfix">
|
||||
<div>
|
||||
<input type="radio" name="publish" id="publish1" value="statement">
|
||||
<label for="publish1">거래명세서</label>
|
||||
@ -434,7 +414,7 @@ function fnShowPdfPrintPopup(){
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
|
||||
<!-- pagination -->
|
||||
<c:if test="${!empty payUserSWList}">
|
||||
|
||||
@ -41,7 +41,7 @@ function getNextPayMethod() {
|
||||
var nextPayMethod = "";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/web/member/pay/selectNextPayMethodAjax.do",
|
||||
url: "/web/member/pay/selectLastPayMethodAjax.do",
|
||||
data: {},
|
||||
dataType:'json',
|
||||
async: false,
|
||||
@ -817,7 +817,7 @@ function fnShowVaViewPrintPopup() {
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/pay/PayGuide.do'">요금안내/견적내기</button></li>
|
||||
<li class="tab active"><button type="button">결제하기</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayList.do'">요금 결제내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do'">요금 사용내역</button></li>
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/payUserSWList.do'">요금 사용내역</button></li>
|
||||
<!-- 현금영수증 자동발행 주석 -->
|
||||
<!-- <li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">계산서/현금영수증 발행 등록</button></li> -->
|
||||
<li class="tab"><button type="button" onclick="location.href='/web/member/pay/BillPub.do'">세금계산서 발행 등록</button></li>
|
||||
|
||||
384
src/main/webapp/WEB-INF/jsp/web/pay/payInvoicePrintPopup.jsp
Normal file
384
src/main/webapp/WEB-INF/jsp/web/pay/payInvoicePrintPopup.jsp
Normal file
@ -0,0 +1,384 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ page import="itn.com.cmm.LoginVO" %>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>거래명세서</title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/publish/css/reset.css">
|
||||
<link rel="stylesheet" href="/publish/css/common.css">
|
||||
<link rel="stylesheet" href="/publish/css/estimate.css">
|
||||
<link rel="stylesheet" href="/publish/css/font.css">
|
||||
<link rel="stylesheet" href="/publish/css/button.css">
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
function f_print(){
|
||||
|
||||
document.getElementById('est_btn_wrap').style.display = 'none';
|
||||
var initBody = document.body.innerHTML;
|
||||
window.onbeforeprint = function(){
|
||||
// print_area는 인쇄하고자 하는 영역의 ID를 말합니다.( 필수 )
|
||||
// document.body.innerHTML = document.getElementById("print_area").innerHTML;
|
||||
}
|
||||
window.onafterprint = function(){
|
||||
document.body.innerHTML = initBody;
|
||||
}
|
||||
window.print();
|
||||
document.getElementById('est_btn_wrap').style.display = '';
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<!-- 견적서 -->
|
||||
<div class="estimate_wrap">
|
||||
<div class="estimate">
|
||||
<div class="est_head clearfix">
|
||||
<img src="/publish/images/CI.png" alt="문자온 CI">
|
||||
<div class="clearfix">
|
||||
<p>(12248) 경기도 남양주시 다산순환로 20, A동 735호(다산동, 현대프리미어캠퍼스)</p>
|
||||
<p>TEL 1551-8011</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="est_body">
|
||||
<h2>거래명세서<span style="font-size:20px;font-weight:400;">(공급받는자 보관용)</span></h2>
|
||||
<div class="cont1 tb_ver2" style="display:flex;">
|
||||
<div style="width:calc((100% - 40px)/2);">
|
||||
<p>공급받는 자</p>
|
||||
<table class="est_table">
|
||||
<caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>등록번호</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${result.dept eq 'c'}">
|
||||
<c:out value="${result.bizNo}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<!--(개인회원인 경우 하이픈(-) 처리)-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.69px;">상    호</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${result.dept eq 'c'}">
|
||||
<c:out value="${result.mberNm}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.69px;">성    명</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${result.dept eq 'c'}">
|
||||
<c:out value="${result.managerNm}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${result.mberNm}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>전화번호</th>
|
||||
<td>
|
||||
<c:out value="${result.mbtlNum}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.85px;">이 메 일</th>
|
||||
<td>
|
||||
<c:out value="${result.email}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div style="width:calc((100% - 40px)/2);">
|
||||
<p>공급자</p>
|
||||
<img src="/publish/images/content/stamp.png" alt="도장" class="stamp mCS_img_loaded">
|
||||
<table class="est_table">
|
||||
<caption>등록번호, 상호, 성명, 전화번호, 이메일 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>등록번호</th>
|
||||
<td>653-87-00858</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.69px;">상    호</th>
|
||||
<td>주식회사 아이티앤</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.69px;">성    명</th>
|
||||
<td>유인식</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>전화번호</th>
|
||||
<td>1551-8011</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="letter-spacing:-0.85px;">이 메 일</th>
|
||||
<td>help@iten.co.kr</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont3">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt}" var="commaAmt" />
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.cash}" var="commaCash" />
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt - result.cash}" var="commaETC" />
|
||||
<div class="est_table2_wrap">
|
||||
<table class="est_table2">
|
||||
<caption>작성일자, 공급가액, 세액, 비고 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 25%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">작성일자</th>
|
||||
<th scope="col">공급가액</th>
|
||||
<th scope="col">세액</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<fmt:parseDate value="${result.regDate}" pattern="yyyy-MM-dd HH:mm:ss.S" var="parsedDate"/>
|
||||
<tr>
|
||||
<td><fmt:formatDate value="${parsedDate}" pattern="yyyy-MM-dd"/></td>
|
||||
<td><c:out value="${commaCash}"/></td>
|
||||
<td><c:out value="${commaETC}"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>비고</th>
|
||||
<td style="padding:0 0 0 20px;">
|
||||
<c:choose>
|
||||
<c:when test="${result.prePaymentYn eq 'N'}">
|
||||
사용기간(${result.startDate} ~ ${result.endDate})
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="est_table2_wrap" style="margin:20px 0 0 0;">
|
||||
<table class="est_table2">
|
||||
<caption>월, 일, 품목, 규격, 수량, 단가, 공급가액, 세액, 비고 정보를 제공하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 100px;">
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 70px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">월</th>
|
||||
<th scope="col">일</th>
|
||||
<th scope="col">품목</th>
|
||||
<th scope="col">규격</th>
|
||||
<th scope="col">수량</th>
|
||||
<th scope="col">단가</th>
|
||||
<th scope="col">공급가액</th>
|
||||
<th scope="col">세액</th>
|
||||
<th scope="col">비고</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><fmt:formatDate value="${parsedDate}" pattern="M"/></td>
|
||||
<td><fmt:formatDate value="${parsedDate}" pattern="d"/></td>
|
||||
<td>문자온 메시징 서비스 이용료</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><c:out value="${commaCash}"/></td>
|
||||
<td><c:out value="${commaETC}"/></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<!-- 후불제 -->
|
||||
<!-- <tfoot>
|
||||
<tr>
|
||||
<th colspan="2">합계금액</th>
|
||||
<th>전잔액</th>
|
||||
<th colspan="2">입금액</th>
|
||||
<th colspan="2">현잔액</th>
|
||||
<th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;">이 금액을 [<span>청 구</span>]함</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:center;" colspan="2">550,000</td>
|
||||
<td style="text-align:center;">-</td>
|
||||
<td style="text-align:center;" colspan="2">-</td>
|
||||
<td style="text-align:center;" colspan="2">550,000</td>
|
||||
</tr>
|
||||
</tfoot> -->
|
||||
<!-- //후불제 -->
|
||||
|
||||
<!-- 일반회원(선불제) -->
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="2">합계금액</th>
|
||||
<th>전잔액</th>
|
||||
<th colspan="2">입금액</th>
|
||||
<th colspan="2">현잔액</th>
|
||||
<th colspan="2" rowspan="2" style="background:#fff;vertical-align:middle;">
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${result.prePaymentYn eq 'N' and result.pgStatus ne '1'}">
|
||||
이 금액을 [<span>청 구</span>]함
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
이 금액을 [<span>영 수</span>]함
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:center;" colspan="2">
|
||||
<c:out value="${commaAmt}"/>
|
||||
</td>
|
||||
<td style="text-align:center;">-</td>
|
||||
<td style="text-align:center;" colspan="2">-</td>
|
||||
<td style="text-align:center;" colspan="2">
|
||||
<c:out value="${commaAmt}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<!-- //일반회원(선불제) -->
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="cont5">
|
||||
<p><span>2021</span> 년 <span>6</span> 월 <span>17</span> 일</p>
|
||||
<div>
|
||||
<span></span>
|
||||
<span>주식회사 아이티앤</span>
|
||||
<span>유 인 식 (인)</span>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
<div class="est_btn_wrap">
|
||||
<button type="button" class="btnType" onclick="window.print();"><i class="print_img"></i>인쇄하기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 견적서 -->
|
||||
</body>
|
||||
</html>
|
||||
@ -242,25 +242,17 @@ function updateUserInfo(){
|
||||
$("#receivemail").val("N");
|
||||
}
|
||||
|
||||
if($("#emailId").val() == ""){
|
||||
alert("이메일을 입력해주세요.");
|
||||
if($("#emailId").val().trim() == "" || $("#emailAdd").val().trim() == ""){
|
||||
alert("이메일은 필수 입력 항목입니다.")
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#emailId").val() != ""|| $("#emailAdd").val() != ""){
|
||||
if($("#emailAdd").val() != ""){
|
||||
}else {
|
||||
var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
||||
var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
||||
if(taxExptext.test(email)==false){
|
||||
alert("이메일주소 형식이 올바르지 않습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#mberEmailAdres").val(email);
|
||||
}else{
|
||||
alert("이메일 주소를 확인해 주세요");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if("${cmpPhoneChangeManageVO.hstSttus}" == '03'){
|
||||
@ -678,7 +670,7 @@ function changeValueWork(obj){
|
||||
</c:if>
|
||||
<div class="input_list_item emailWrap">
|
||||
<div>
|
||||
<div class="input_left"><span class="essential">*</span>이메일</div>
|
||||
<div class="input_left">이메일</div>
|
||||
<div class="input_right">
|
||||
<div class="email">
|
||||
<label for="" class="label">이메일 주소 앞자리</label>
|
||||
|
||||
@ -149,21 +149,17 @@ function updateUserInfo(){
|
||||
$("#receivemail").val("N");
|
||||
}
|
||||
|
||||
|
||||
if($("#emailId").val() != ""|| $("#emailAdd").val() != ""){
|
||||
if($("#emailAdd").val() != ""){
|
||||
if($("#emailId").val().trim() == "" || $("#emailAdd").val().trim() == ""){
|
||||
alert("이메일은 필수 입력 항목입니다.")
|
||||
return false;
|
||||
}else {
|
||||
var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
||||
var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
||||
if(taxExptext.test(email)==false){
|
||||
alert("이메일주소 형식이 올바르지 않습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#mberEmailAdres").val(email);
|
||||
}else{
|
||||
alert("이메일 주소를 확인해 주세요");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if("${userInfo.moblphonNo}" != $("#moblphonNo").val()){
|
||||
|
||||
@ -671,7 +671,7 @@ function callTo() {
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<button type="button" onclick="location.href='/web/member/pay/PayUserSWList.do';">
|
||||
<button type="button" onclick="location.href='/web/member/pay/payUserSWList.do';">
|
||||
<img src="/publish/images/content/mypage_plus.png" alt="더보기">
|
||||
</button>
|
||||
<div class="table_wrap" id="send_reserv">
|
||||
|
||||
@ -30,9 +30,6 @@ $(document).ready(function(){
|
||||
<li class="tab" id="sendNumberManage">
|
||||
<button type="button" onclick="TabType5(this,'4'); location.href='/web/user/sendNumberManage.do'">발신번호 관리</button>
|
||||
</li>
|
||||
<li class="tab" id="notifyManage">
|
||||
<button type="button" onclick="TabType5(this,'5'); location.href='/web/user/notifyManage.do'">알림설정</button>
|
||||
</li>
|
||||
<li class="tab" id="mberSecession">
|
||||
<button type="button" onclick="TabType5(this,'6'); location.href='/web/user/mberSecession.do'">회원탈퇴</button>
|
||||
</li>
|
||||
|
||||
@ -112,3 +112,26 @@ function getDateStr(myDate){
|
||||
return ( year + '/' + month + '/' + day );
|
||||
}
|
||||
|
||||
/**
|
||||
* 검색 날짜관련 ID로 검색 시작일 최대 기간을 제한 function
|
||||
* @param {String} a 검색 시작 ID
|
||||
* @param {String} b 최대 기간 달 수
|
||||
* @returns {Boolean} a날짜와 현재 날짜를 비교해서 차이가 b월 이상이면 false 이하면 true
|
||||
*/
|
||||
function fn_G_limitDateChk(startId, limitMonth) {
|
||||
// 시작일자 가져오기
|
||||
var startDate = document.getElementById(startId).value;
|
||||
|
||||
// 날짜 형식으로 변환 및 현재 날짜 설정
|
||||
var start = new Date(startDate);
|
||||
var today = new Date();
|
||||
|
||||
var maxDate = new Date(today);
|
||||
maxDate.setMonth(maxDate.getMonth() - limitMonth);
|
||||
|
||||
if(start < maxDate){
|
||||
alert("검색 시작일자를 최근 "+limitMonth+"개월 이내로 입력해주세요.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user