관리자 비선 선결제 관리 기능 추가

This commit is contained in:
rosewiper 2023-10-31 14:40:12 +09:00
parent 46d860f27e
commit 72f856cf00
15 changed files with 2626 additions and 1 deletions

View File

@ -0,0 +1,18 @@
package itn.let.mjo.pay.service;
import java.util.List;
public interface MjonPrePayService {
public int selectBLineMberCnt(String mberId) throws Exception;
public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception;
public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception;
public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception;
public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception;
public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception;
}

View File

@ -0,0 +1,108 @@
package itn.let.mjo.pay.service;
import itn.com.cmm.ComDefaultVO;
public class MjonPrePayVO extends ComDefaultVO{
/**
*
*/
private static final long serialVersionUID = 1L;
private String prePayId;
private String mberId;
private String agentCode;
private String prePayDate;
private String prePayTime;
private String amt;
private String frstRegisterId;
private String frstRegistPnttm;
private String lastUpdusrId;
private String lastUpdtPnttm;
private String agentCodeNm;
private String agentCodeDc;
private String totSum;
public String getPrePayId() {
return prePayId;
}
public void setPrePayId(String prePayId) {
this.prePayId = prePayId;
}
public String getMberId() {
return mberId;
}
public void setMberId(String mberId) {
this.mberId = mberId;
}
public String getAgentCode() {
return agentCode;
}
public void setAgentCode(String agentCode) {
this.agentCode = agentCode;
}
public String getPrePayDate() {
return prePayDate;
}
public void setPrePayDate(String prePayDate) {
this.prePayDate = prePayDate;
}
public String getPrePayTime() {
return prePayTime;
}
public void setPrePayTime(String prePayTime) {
this.prePayTime = prePayTime;
}
public String getAmt() {
return amt;
}
public void setAmt(String amt) {
this.amt = amt;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getAgentCodeNm() {
return agentCodeNm;
}
public void setAgentCodeNm(String agentCodeNm) {
this.agentCodeNm = agentCodeNm;
}
public String getAgentCodeDc() {
return agentCodeDc;
}
public void setAgentCodeDc(String agentCodeDc) {
this.agentCodeDc = agentCodeDc;
}
public String getTotSum() {
return totSum;
}
public void setTotSum(String totSum) {
this.totSum = totSum;
}
}

View File

@ -0,0 +1,109 @@
package itn.let.mjo.pay.service.impl;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.pay.service.MjonPrePayVO;
@Repository("mjonPrePayDAO")
public class MjonPrePayDAO extends EgovAbstractDAO {
public int selectBLineMberCnt(String mberId) throws Exception{
int result = 0;
try {
result = (int) select("mjonPrePayDAO.selectBLineMberCnt", mberId);
} catch (Exception e) {
System.out.println("+++++++++++++ selectBLineMberCnt Service DAO Error !!! " + e);
}
return result;
}
public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = update("mjonPrePayDAO.insertPrePayInfo", mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ insertPrePayInfo Service DAO Error !!! " + e);
}
return resultCnt;
}
@SuppressWarnings("unchecked")
public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception{
List<MjonPrePayVO> resultList = new ArrayList<MjonPrePayVO>();
try {
resultList = (List<MjonPrePayVO>) list("mjonPrePayDAO.selectPrePayList", mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayList Service DAO Error !!! " + e);
}
return resultList;
}
public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
int result = 0;
try {
result = update("mjonPrePayDAO.deletePrePayInfo", mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ deletePrePayInfo Service DAO Error !!! " + e);
}
return result;
}
public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
MjonPrePayVO result = new MjonPrePayVO();
try {
result = (MjonPrePayVO) select("mjonPrePayDAO.selectPrePayInfo", mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayInfo Service DAO Error !!! " + e);
}
return result;
}
public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = update("mjonPrePayDAO.updatePrePayModify", mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayInfo Service DAO Error !!! " + e);
}
return resultCnt;
}
}

View File

@ -0,0 +1,120 @@
package itn.let.mjo.pay.service.impl;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.let.mjo.pay.service.MjonPrePayService;
import itn.let.mjo.pay.service.MjonPrePayVO;
@Service("mjonPrePayService")
public class MjonPrePayServiceImpl extends EgovAbstractServiceImpl implements MjonPrePayService {
@Resource(name="mjonPrePayDAO")
private MjonPrePayDAO mjonPrePayDAO;
//B선 회원 정보 조회
@Override
public int selectBLineMberCnt(String mberId) throws Exception{
int result = 0;
try {
result = mjonPrePayDAO.selectBLineMberCnt(mberId);
} catch (Exception e) {
System.out.println("+++++++++++++ selectBLineMberCnt Service Impl Error !!! " + e);
}
return result;
}
@Override
public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonPrePayDAO.insertPrePayInfo(mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ insertPrePayInfo Service Impl Error !!! " + e);
}
return resultCnt;
}
@Override
public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception{
List<MjonPrePayVO> resultList = new ArrayList<MjonPrePayVO>();
try {
resultList = mjonPrePayDAO.selectPrePayList(mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayList Service Impl Error !!! " + e);
}
return resultList;
}
@Override
public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
int result = 0;
try {
result = mjonPrePayDAO.deletePrePayInfo(mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ deletePrePayInfo Service Impl Error !!! " + e);
}
return result;
}
@Override
public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{
MjonPrePayVO result = new MjonPrePayVO();
try {
result = mjonPrePayDAO.selectPrePayInfo(mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayInfo Service Impl Error !!! " + e);
}
return result;
}
@Override
public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonPrePayDAO.updatePrePayModify(mjonPrePayVO);
} catch (Exception e) {
System.out.println("+++++++++++++ selectPrePayInfo Service Impl Error !!! " + e);
}
return resultCnt;
}
}

View File

@ -0,0 +1,567 @@
package itn.let.mjo.pay.web;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.mjo.pay.service.MjonPayService;
import itn.let.mjo.pay.service.MjonPrePayService;
import itn.let.mjo.pay.service.MjonPrePayVO;
import itn.let.uss.umt.service.EgovUserManageService;
@Controller
public class MjonPrePayController {
private static final Logger LOGGER = LoggerFactory.getLogger(MjonPrePayController.class);
@Resource(name = "mjonPayService")
private MjonPayService mjonPayService;
@Resource(name = "mjonPrePayService")
private MjonPrePayService mjonPrePayService;
/** EgovMessageSource */
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
//배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"}
private String[][] sendPrePayExcelValue ={
{"0" ,"번호" , "1" , "" },
{"1", "아이디" , "아이디" , ""},
{"2", "전송사" , "개인전용계좌", ""},
{"3", "선결제일시" , "2021-06-08 11:05:38", ""},
{"4", "결제금액" , "1000", ""},
{"5", "등록일자" , "2021-06-08 11:05:38", ""},
} ;
/**
* 결제 리스트
* @param searchVO
* @param model
* @return "/uss/ion/msg/SendNumberList"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayList.do"})
public String selectPrePayList(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
ModelMap model) throws Exception{
String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ;
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mjonPrePayVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mjonPrePayVO.getPageUnit());
paginationInfo.setPageSize(mjonPrePayVO.getPageSize());
mjonPrePayVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mjonPrePayVO.setLastIndex(paginationInfo.getLastRecordIndex());
mjonPrePayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
mjonPrePayVO.setSearchSortCnd("prePayDate");
mjonPrePayVO.setSearchSortOrd("desc");
}
List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO);
model.addAttribute("resultList", resultList);
model.addAttribute("totSumPrice", resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotSum() : 0);
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
return "/uss/ion/pay/prePay/PrePayList";
}
/**
* 선결제 등록화면
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayRegist.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayRegist.do"})
public String PrePayRegist(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
ModelMap model) throws Exception{
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
return "/uss/ion/pay/prePay/PrePayRegist";
}
/**
* 선결제 등록 처리
* @param searchVO
* @param model
* @return "uss/ion/pay/insertPrePayRegistAjax"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/insertPrePayRegistAjax.do"})
public ModelAndView insertPrePayRegistAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
ModelMap model) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
modelAndView.addObject("result", "loginFail");
modelAndView.addObject("message", "로그인이 필요합니다.");
return modelAndView;
}
try {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
String mberId = mjonPrePayVO.getMberId();
mjonPrePayVO.setFrstRegisterId(userId);
mjonPrePayVO.setLastUpdusrId(userId);
if(mjonPrePayVO.getAmt().length() == 0
|| mjonPrePayVO.getMberId().length() == 0
|| mjonPrePayVO.getPrePayDate().length() == 0) {
modelAndView.addObject("result", "dataFail");
modelAndView.addObject("message", "필수 입력값을 확인해 주세요.");
return modelAndView;
}
int mberCnt = mjonPrePayService.selectBLineMberCnt(mberId);
if(mberCnt > 0) {
int resultCnt = mjonPrePayService.insertPrePayInfo(mjonPrePayVO);
if(resultCnt > 0) {
modelAndView.addObject("result", "success");
modelAndView.addObject("message", "등록이 완료되었습니다.");
}else {
modelAndView.addObject("result", "insertFail");
modelAndView.addObject("message", "선결제 정보 등록 중 오류가 발생하였습니다.");
return modelAndView;
}
}else {
modelAndView.addObject("result", "mberFail");
modelAndView.addObject("message", mberId + "의 회원정보를 찾을 수 없습니다.");
return modelAndView;
}
} catch (Exception e) {
System.out.println("++++++++++++++ insertPrePayRegistAjax Controller Error !!! " + e);
modelAndView.addObject("result", "Error");
modelAndView.addObject("message", "등록 중 오류가 발생하였습니다.");
return modelAndView;
}
return modelAndView;
}
/**
* 선결제 삭제 처리
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayDelete.do"
* @throws Exception
*/
@RequestMapping(value = {"/uss/ion/pay/PrePayDelete.do"})
public String deleteCash(
@RequestParam("chkEach") String[] chkEach,
@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request , RedirectAttributes redirectAttributes,
Model model) throws Exception {
try {
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(userId == "") {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.user.login"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do");
return redirectUrlMaker.getRedirectUrl();
}
for(String id: chkEach) {
mjonPrePayVO.setPrePayId(id);
mjonPrePayService.deletePrePayInfo(mjonPrePayVO);
}
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do");
return redirectUrlMaker.getRedirectUrl();
}catch(Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete"));
}
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do");
return redirectUrlMaker.getRedirectUrl();
}
/**
* 선결제 수정화면
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayModify.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayModify.do"})
public String PrePayModify(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request, RedirectAttributes redirectAttributes,
ModelMap model) throws Exception{
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
try {
MjonPrePayVO resultVO = mjonPrePayService.selectPrePayInfo(mjonPrePayVO);
model.addAttribute("resultVO", resultVO);
} catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do");
return redirectUrlMaker.getRedirectUrl();
}
return "/uss/ion/pay/prePay/PrePayModify";
}
/**
* 선결제 수정화면
* @param searchVO
* @param model
* @return "/uss/ion/pay/updatePrePayModify.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/updatePrePayModify.do"})
public String updatePrePayModify(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request, RedirectAttributes redirectAttributes,
ModelMap model) throws Exception{
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
try {
String mberId = mjonPrePayVO.getMberId();
int mberCnt = mjonPrePayService.selectBLineMberCnt(mberId);
if(mberCnt > 0) {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
mjonPrePayVO.setLastUpdusrId(userId);
mjonPrePayVO.setAmt(mjonPrePayVO.getAmt().replace(",", ""));
int resultCnt = mjonPrePayService.updatePrePayModify(mjonPrePayVO);
}else {
redirectAttributes.addFlashAttribute("message", mberId + "의 회원정보를 찾을 수 없습니다.");
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do");
return redirectUrlMaker.getRedirectUrl();
}
} catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do");
return redirectUrlMaker.getRedirectUrl();
}
return "redirect:/uss/ion/pay/PrePayList.do";
}
/**
* 결제 리스트 팝업
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayPopupListAjax.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayPopupListAjax.do"})
public String selectPrePayPopupListAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
ModelMap model) throws Exception{
String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ;
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mjonPrePayVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mjonPrePayVO.getPageUnit());
paginationInfo.setPageSize(mjonPrePayVO.getPageSize());
mjonPrePayVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mjonPrePayVO.setLastIndex(paginationInfo.getLastRecordIndex());
mjonPrePayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
mjonPrePayVO.setSearchSortCnd("prePayDate");
mjonPrePayVO.setSearchSortOrd("desc");
}
//특정 회원 정보리스트만 조회 되도록 검색값 셋팅
String mberId = mjonPrePayVO.getMberId();
List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO);
model.addAttribute("resultList", resultList);
model.addAttribute("totSumPrice", resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotSum() : 0);
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("mberId", mberId);
return "/uss/ion/pay/prePay/popup/PrePayPopupList";
}
/**
* 선결제 등록화면
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayPopupRegistAjax.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayPopupRegistAjax.do"})
public String selectPrePayPopupRegistAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
ModelMap model) throws Exception{
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
System.out.println(mjonPrePayVO.getMberId());
String mberId = mjonPrePayVO.getMberId();
model.addAttribute("mberId", mberId);
return "/uss/ion/pay/prePay/popup/PrePayPopupRegist";
}
/**
* 선결제 수정화면
* @param searchVO
* @param model
* @return "/uss/ion/pay/PrePayModify.do"
* @throws Exception
*/
@RequestMapping(value= {"/uss/ion/pay/PrePayPopupModifyAjax.do"})
public String selectPrePayPopupModifyAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO,
HttpServletRequest request, RedirectAttributes redirectAttributes,
ModelMap model) throws Exception{
// 미인증 사용자에 대한 보안처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
}
try {
MjonPrePayVO resultVO = mjonPrePayService.selectPrePayInfo(mjonPrePayVO);
model.addAttribute("resultVO", resultVO);
} catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayPopupListAjax.do");
return redirectUrlMaker.getRedirectUrl();
}
return "/uss/ion/pay/prePay/popup/PrePayPopupModify";
}
//관리자 결제 엑셀 다운로드
@RequestMapping(value= {"/uss/ion/pay/SendPrePayExcelDownload.do"})
public void SendPrePayExcelDownload( MjonPrePayVO mjonPrePayVO,
HttpServletRequest request,
HttpServletResponse response ,
ModelMap model) throws Exception {
mjonPrePayVO.setRecordCountPerPage(5000);
mjonPrePayVO.setFirstIndex(0);
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
// 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다.
SXSSFWorkbook wb = new SXSSFWorkbook(100);
CellStyle style = wb.createCellStyle();
style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
style.setBorderLeft(CellStyle.BORDER_THIN);
style.setBorderRight(CellStyle.BORDER_THIN);
style.setBorderTop(CellStyle.BORDER_THIN);
Font font = wb.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold
Cell cell = null;
Row row = null;
String fileName ="B선 회원 선결제내역";
String sheetTitle = "";
try{
if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
mjonPrePayVO.setSearchSortCnd("prePayDate");
mjonPrePayVO.setSearchSortOrd("desc");
}
List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO);
{ //화면 리스트
sheetTitle = "선결제내역" ; //제목
Sheet sheet = wb.createSheet(sheetTitle);
sheet.setColumnWidth(0, 2500);
sheet.setColumnWidth(1, 3500);
sheet.setColumnWidth(2, 3500);
sheet.setColumnWidth(3, 4000);
sheet.setColumnWidth(4, 3500);
sheet.setColumnWidth(5, 5000);
row = sheet.createRow(0);
for(int i=0 ; i < sendPrePayExcelValue.length ; i++) {
cell = row.createCell(i);
cell.setCellStyle(style);
cell.setCellValue(sendPrePayExcelValue[i][1]);
}
for(int i=0; i < resultList.size(); i++){
row = sheet.createRow(i+1);
for(int j=0 ; j < sendPrePayExcelValue.length ; j++) {
// 번호, 회원 아이디, 전용 전송사, 선결제 일자, 결제 금액, 등록일자
cell = row.createCell(j);
cell.setCellStyle(style);
if(j==0) cell.setCellValue(i+1); //번호
if(j==1) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getMberId()); //회원 아이디
if(j==2) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getAgentCodeDc()); //전용 전송사
if(j==3) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getPrePayDate() + " " + ((MjonPrePayVO)resultList.get(i)).getPrePayTime()); //선결제 일자
if(j==4) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getAmt()); //결제금액
if(j==5) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getLastUpdtPnttm()); //등록일자/수정일자
}
}
}
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA );
Date currentTime = new Date ();
String mTime = mSimpleDateFormat.format ( currentTime );
fileName = fileName+"("+mTime+")";
response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx"));
wb.write(response.getOutputStream());
}catch(Exception e) {
response.setHeader("Set-Cookie", "fileDownload=false; path=/");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Content-Type","text/html; charset=utf-8");
OutputStream out = null;
try {
out = response.getOutputStream();
byte[] data = new String("fail..").getBytes();
out.write(data, 0, data.length);
} catch(Exception ignore) {
ignore.printStackTrace();
} finally {
if(out != null) try { out.close(); } catch(Exception ignore) {}
}
}finally {
// 디스크 적었던 임시파일을 제거합니다.
wb.dispose();
try { wb.close(); } catch(Exception ignore) {}
}
}
}

View File

@ -23,4 +23,5 @@
<sqlMap resource="egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml"/> <!-- 알림톡메세지 -->
<sqlMap resource="egovframework/sqlmap/let/kakao/MjonKakaoFTData_SQL_mysql.xml"/> <!-- 친구톡메세지 -->
<sqlMap resource="egovframework/sqlmap/let/pay/MjonPrePay_SQL_mysql.xml"/><!-- B선 회원 선결제정보 -->
</sqlMapConfig>

View File

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?><!--
수정일 수정자 수정내용
========= ======= =================================================
2021.03.01 신명섭
-->
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMap namespace="Pay">
<typeAlias alias="mjonPrePayVO" type="itn.let.mjo.pay.service.MjonPrePayVO"/>
<select id="mjonPrePayDAO.selectBLineMberCnt" parameterClass="String" resultClass="Integer">
<![CDATA[
SELECT COUNT(MBER_ID)
FROM lettngnrlmber
WHERE MBER_ID = #mberId#
AND BLINE_CODE <> 'N'
]]>
</select>
<insert id="mjonPrePayDAO.insertPrePayInfo" parameterClass="mjonPrePayVO">
INSERT
INTO MJ_PREPAY_INFO
(
MBER_ID,
AGENT_CODE,
PREPAY_DATE,
PREPAY_TIME,
AMT,
FRST_REGISTER_ID,
FRST_REGIST_PNTTM,
LAST_UPDUSR_ID,
LAST_UPDT_PNTTM
)
VALUES
( #mberId#
, #agentCode#
, #prePayDate#
, #prePayTime#
, #amt#
, #frstRegisterId#
, NOW()
, #lastUpdusrId#
, NOW()
)
</insert>
<select id="mjonPrePayDAO.selectPrePayList" parameterClass="mjonPrePayVO" resultClass="mjonPrePayVO">
SELECT COUNT(PRE.PREPAY_ID) OVER() AS totCnt,
SUM(PRE.AMT) OVER() AS totSum,
PRE.PREPAY_ID AS prePayId,
PRE.MBER_ID AS mberId,
PRE.AGENT_CODE AS agentCode,
PRE.PREPAY_DATE AS prePayDate,
PRE.PREPAY_TIME AS prePayTime,
PRE.AMT AS amt,
DATE_FORMAT(PRE.FRST_REGIST_PNTTM, '%Y-%m-%d %T' ) AS frstRegistPnttm,
PRE.FRST_REGISTER_ID AS frstRegisterId,
PRE.LAST_UPDUSR_ID AS lastUpdusr_id,
DATE_FORMAT(PRE.LAST_UPDT_PNTTM, '%Y-%m-%d %T' ) AS lastUpdtPnttm,
LCD.CODE_NM AS agentCodeNm,
LCD.CODE_DC AS agentCodeDc
FROM MJ_PREPAY_INFO PRE
INNER JOIN LETTCCMMNDETAILCODE LCD
ON PRE.AGENT_CODE = LCD.CODE
INNER JOIN LETTCCMMNCODE LCC
ON LCD.CODE_ID = LCC.CODE_ID
AND LCC.CODE_ID = 'ITN019'
WHERE 1=1
<isNotEmpty property="searchKeyword">
AND PRE.MBER_ID LIKE CONCAT('%', #searchKeyword#, '%')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchCondition">
PRE.AGENT_CODE = #searchCondition#
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDate">
<![CDATA[
DATE_FORMAT(PRE.PREPAY_DATE, '%Y-%m-%d') >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDate">
<![CDATA[
DATE_FORMAT(PRE.PREPAY_DATE, '%Y-%m-%d') <= DATE_FORMAT(#searchEndDate#, '%Y-%m-%d')
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="mberId">
PRE.MBER_ID = #mberId#
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
<isNotEmpty property="searchSortCnd">
<isEqual property="searchSortCnd" compareValue="prePayDate" >
, prePayTime $searchSortOrd$
</isEqual>
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<delete id="mjonPrePayDAO.deletePrePayInfo" parameterClass="mjonPrePayVO">
DELETE FROM MJ_PREPAY_INFO WHERE PREPAY_ID = #prePayId#
</delete>
<select id="mjonPrePayDAO.selectPrePayInfo" parameterClass="mjonPrePayVO" resultClass="mjonPrePayVO">
SELECT PREPAY_ID AS prePayId,
MBER_ID AS mberId,
AGENT_CODE AS agentCode,
PREPAY_DATE AS prePayDate,
PREPAY_TIME AS prePayTime,
AMT AS amt,
FRST_REGISTER_ID AS frstRegisterId,
DATE_FORMAT(FRST_REGIST_PNTTM, '%Y-%m-%d %T' ) AS frstRegistPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
DATE_FORMAT(LAST_UPDT_PNTTM, '%Y-%m-%d %T' ) AS lastUpdtPnttm
FROM MJ_PREPAY_INFO
WHERE PREPAY_ID = #prePayId#
</select>
<update id="mjonPrePayDAO.updatePrePayModify" parameterClass="mjonPrePayVO">
UPDATE MJ_PREPAY_INFO
SET MBER_ID = #mberId#,
AGENT_CODE = #agentCode#,
PREPAY_DATE = #prePayDate#,
PREPAY_TIME = #prePayTime#,
AMT = #amt#,
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE PREPAY_ID = #prePayId#
</update>
</sqlMap>

View File

@ -760,7 +760,8 @@
A.HOTLINE_AGENT_CODE AS hotlineAgentCode,
A.AT_SMISHING_YN atSmishingYn,
A.SPAM_YN spamYn,
A.USER_POINT AS userPoint
A.USER_POINT AS userPoint,
A.BLINE_CODE AS blineCode
FROM LETTNGNRLMBER A
LEFT JOIN MJ_CANDIDATE_INFO MCI
ON A.MBER_ID = MCI.MBER_ID

View File

@ -1926,6 +1926,16 @@ function fnUserCashDataListPopup(mberId){
document.modiForm.submit();
}
//B선회원 선결제 팝업
function fnUserPrePayDataListPopup(mberId){
document.modiForm.mberId.value = mberId;
window.open("_blank", 'popupSelectPrePayDataList', 'width=1300, height=800, top=50, left=0, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
document.modiForm.action = "<c:url value='/uss/ion/pay/PrePayPopupListAjax.do'/>";
document.modiForm.target = "popupSelectPrePayDataList";
document.modiForm.submit();
}
// 이벤트 종료하기
function fnEventEnd(){
@ -3282,6 +3292,11 @@ function kakaoATDelayCancel(msgGroupId){
<th>
보유 캐시 잔액
<button type="button" onclick="fnUserCashDataListPopup('${mberManageVO.mberId}'); return false">조회</button>
<%-- B선 회원 선결제 버튼 처리 --%>
<c:if test="${mberManageVO.blineCode ne 'N'}">
<button type="button" onclick="fnUserPrePayDataListPopup('${mberManageVO.mberId}'); return false">선결제</button>
</c:if>
</th>
<td>
<div class="button_box">
@ -3665,6 +3680,11 @@ function kakaoATDelayCancel(msgGroupId){
<th>
보유 캐시 잔액
<button type="button" onclick="fnUserCashDataListPopup('${mberManageVO.mberId}'); return false">조회</button>
<%-- B선 회원 선결제 버튼 처리 --%>
<c:if test="${mberManageVO.blineCode ne 'N'}">
<button type="button" onclick="fnUserPrePayDataListPopup('${mberManageVO.mberId}'); return false">선결제</button>
</c:if>
</th>
<td>
<div class="button_box">

View File

@ -0,0 +1,266 @@
<%--
Class Name : PrePayList.jsp
Description : B선 회원 선결제 리스트 페이지
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023.10.26 우영두 최초 생성
Copyright (C) 2009 by ITN All right reserved.
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>선결제 리스트</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.submit();
}
/* 체크된 메인배너 목록 삭제 */
function fn_delete(){
if($("input[name=chkEach]:checked").length == 0){
alert("삭제할 항목을 선택해 주세요.");
return;
}
if (confirm("해당 정보를 삭제하시겠습니까?")){
frm = document.listForm;
frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>";
frm.submit();
}
}
/* 수정 화면*/
function fn_modify(prePayId){
var frm = document.modiForm ;
frm.prePayId.value = prePayId ;
frm.action = '/uss/ion/pay/PrePayModify.do';
frm.submit();
}
function fnSelectMber(mberId) {
document.modiForm.mberId.value = mberId;
window.open("about:blank", 'popupSelectMber', 'width=900, height=1800, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>";
document.modiForm.target = "popupSelectMber";
document.modiForm.submit();
}
//체크박스 전체선택/해제
$(document).on("click", "#chkAll", function(e) {
var isChecked = $(this).is(":checked");
$("input[name=chkEach]:checkbox").prop("checked", isChecked);
});
//기간선택 select
function fnSetCalMonth(val) {
var form = document.listForm;
var today = new Date();
var year = today.getFullYear();
var month = ("0"+(today.getMonth()+1)).slice(-2);
var date = ("0"+today.getDate()).slice(-2);
var sDate = new Date(today.setMonth(today.getMonth() - val));
var sYear = sDate.getFullYear();
var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2);
var sDate = ("0"+sDate.getDate()).slice(-2);
form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate;
form.searchEndDate.value = year + "-" + month + "-" + date;
}
//엑셀 다운로드
function sendMsgExcelDownload(){
var frm = document.listForm;
frm.method = "post";
frm.action = "<c:url value='/uss/ion/pay/SendPrePayExcelDownload.do'/>";
frm.submit();
}
function fn_Regist(){
location.href="/uss/ion/pay/PrePayRegist.do";
}
</script>
</head>
<body>
<compress:html>
<form name="listForm" action="<c:url value='/uss/ion/pay/PrePayList.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="selectedId" />
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">선결제 현황</h2>
<p class="tType6 c_999999">B선 사용자 선결제 현황을 파악할 수 있습니다.</p>
</div>
<div class="pageCont">
<div class="listSerch">
<div class="calendar_wrap">
<select name="setCalMonth" onchange="fnSetCalMonth(this.value)">
<option value="0">전체</option>
<option value="1">1개월</option>
<option value="3">3개월</option>
<option value="6">6개월</option>
</select>
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchStartDate" id="searchStartDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchStartDate}'/>">
<input type="button" class="calBtn">
</div>
<span class="line">~</span>
<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchEndDate" id="searchEndDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchEndDate}'/>">
<input type="button" class="calBtn">
</div>
</div>
<select id="searchCondition" name="searchCondition" class="select" title="전송사">
<option value="">전체</option>
<option value="08" <c:if test="${searchVO.searchCondition == '08'}">selected="selected"</c:if>>제이제이 B선 01 라인 </option>
<option value="09" <c:if test="${searchVO.searchCondition == '09'}">selected="selected"</c:if>>제이제이 B선 02 라인</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100"/>
<input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;">
<input type="button" class="btnType1" onclick="fn_searchReset(); return false;" value="초기화">
</div>
<div class="listTop">
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건(총 <fmt:formatNumber value="${totSumPrice}" pattern="#,###" /> 원)</p>
<div class="rightWrap">
<!-- <input type="button" class="printBtn"> -->
<input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();" style="cursor: pointer;" />
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1); return false;">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select>
</div>
</div>
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 15%">
<col style="width: 20%">
<col style="width: 15%">
</colgroup>
<thead>
<tr>
<!-- <th><input type="checkbox" name="checkAll" id="checkAll" class="check2" value="1" onClick="fnCheckAll();"></th> -->
<th>
<input type="checkbox" id="chkAll">
</th>
<th>번호<input type="button" class="sort sortBtn" id="sort_prePayId"></th>
<th>아이디<input type="button" class="sort sortBtn" id="sort_mberId"></th>
<th>전송사<input type="button" class="sort sortBtn" id="sort_agentCode"></th>
<th>선결제일시<input type="button" class="sort sortBtn" id="sort_prePayDate"></th>
<th>결제금액<input type="button" class="sort sortBtn" id="sort_amt"></th>
<th>등록일자<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${resultList}" varStatus="status">
<tr>
<td>
<input type="checkbox" name="chkEach" id="chkEach_${status.index}" value="${result.prePayId}">
</td>
<td>
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</td>
<td>
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.mberId}"/>'); return false;">
<c:out value="${result.mberId}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;">
<c:out value="${result.agentCodeDc}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;">
<c:out value="${result.prePayDate}"/> <c:out value="${result.prePayTime}"/>
</a>
</td>
<td>
<fmt:formatNumber value="${result.amt}" pattern="#,###" />
</td>
<td>
<c:out value="${result.lastUpdtPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty resultList}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btnWrap">
<input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;">
<input type="button" class="btnType1" value="등록" onclick="fn_Regist(); return false;">
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty resultList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</form>
<form name="modiForm" id="modiForm" method="post">
<input type="hidden" name="prePayId" />
<input type="hidden" name="searchCondition" value="" />
<input type="hidden" name="searchKeyword" value="" />
<input type="hidden" name="pageUnit" value="${searchVO.pageUnit}" />
</form>
</compress:html>
</body>
</html>

View File

@ -0,0 +1,201 @@
<%
/**
* @Class Name : PrePayModify.jsp
* @Description : B선 회원 선결제 상세 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>팝업창관리 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
/* 수정 */
function fn_modify(){
var frm = document.writeForm;
if(frm.mberId.value == ''){
alert("아이디를 입력해 주세요.");
return false;
}
if(frm.prePayDate.value == ''){
alert("결제일자를 선택해 주세요.");
return false;
}
if(frm.prePayTime.value == ''){
alert("결제 시간을 입력해 주세요.");
return false;
}
if(frm.amt.value == ''){
alert("결제금액을 입력해 주세요.");
return false;
}
if(!confirm("수정하시겠습니까?")) {
return;
}
frm.action = "<c:url value='/uss/ion/pay/updatePrePayModify.do'/>";
frm.submit();
}
/* 체크된 메인배너 목록 삭제 */
function fn_delete(){
if (confirm("해당 정보를 삭제하시겠습니까?")){
frm = document.delForm;
frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>";
frm.submit();
}
}
function goList(){
var writeForm = document.writeForm;
var actionUrl = "/uss/ion/pay/PrePayList.do";
writeForm.action = actionUrl;
writeForm.submit();
}
</script>
<style>
.calBtn{
border: none;
background-color: transparent !important;
background-image: url(/pb/img/common/calendarIcon.png);
background-repeat: no-repeat;
width: 25px;
height: 25px !important;
vertical-align: middle;
margin-left: -38px !important;
margin-top: -2px !important;
cursor: pointer;
}
.pageCont {width:100%;padding:50px 30px;box-sizing:border-box;}
.tableWrapTotal {margin:0 0 20px;}
.tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;}
.tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;}
.tableWrapTotal .tbType1 thead tr.content th {font-size:14px;}
.tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;}
.listSerch .select {height:42px;vertical-align:top;}
.pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;}
.pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.layer_msg_wrap {position:relative;}
.layer_msg_wrap .layer_msg_detail {overflow:hidden;display:none;position:fixed;left:50%;top:50%;width:400px;max-height:600px;background:#eee;transform:translate(-50%, -50%);z-index:1;}
.layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;}
.layer_msg_wrap .layer_msg_detail button:before {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(-45deg);}
.layer_msg_wrap .layer_msg_detail button:after {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(45deg);}
.layer_msg_wrap .layer_msg_detail .title {height:35px;padding:0 15px;font-size:16px;line-height:35px;text-align:left;color:#fff;background:#456ded;border-radius:5px 5px 0 0;}
.layer_msg_wrap .layer_msg_detail .content {overflow-y:auto;max-height:535px;margin:15px;padding:10px 15px;line-height:20px;white-space:normal;background:#fff;}
.layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;}
@media screen and (max-width:916px){
.pageCont .tableWrap table thead tr th {padding:15px 0;}
}
</style>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" id="prePayId" name="prePayId" value="<c:out value='${resultVO.prePayId}'/>"/>
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">선결제 정보 수정</h2>
<p class="tType6 c_999999">선결제정보 수정 할 수 있습니다.</p>
</div>
<div class="pageCont">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr class="no_modi">
<th><span class="reqArea">아이디</span></th>
<td colspan="3">
<input type="text" id="mberId" name="mberId" value="<c:out value="${resultVO.mberId}"/>" title="아이디" style="width:120px;" maxlength="20" />
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">전송사</span></th>
<td colspan="3">
<select id="agentCode" name="agentCode" >
<option value="08" <c:if test="${resultVO.agentCode == '08'}">selected</c:if> >JJ B선 01라인</option>
<option value="09" <c:if test="${resultVO.agentCode == '09'}">selected</c:if> >JJ B선 02라인</option>
</select>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제일시</span></th>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value="<c:out value='${resultVO.prePayDate}'/>">
<input type="button" class="calBtn">
</a>
<input type="text" id="prePayTime" name="prePayTime" value="<c:out value='${resultVO.prePayTime}'/>" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제금액</span></th>
<td colspan="3">
<fmt:formatNumber value="${resultVO.amt}" pattern="#,###" var="cash"/>
<input type="text" step="0.01" id="amtInputId" name="amt" value="${cash}" title="결제금액" style="width:auto;min-width:120px;" size="2" maxlength="30" onblur="foucusOut(this)"/> 원
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;">
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;">
<input type="button" class="btnType1" value="수 정" onclick="fn_modify(); return false;">
</div>
</div>
</div>
</form>
<form id="delForm" name="delForm" method="post">
<input type="hidden" id="chkEach" name="chkEach" value="<c:out value='${resultVO.prePayId}'/>"/>
</form>
</body>
</html>

View File

@ -0,0 +1,265 @@
<%
/**
* @Class Name : PrePayRegist.jsp
* @Description : B선 회원 선결제 등록 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>전송사 선결제 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$('#amtInputId').off('input').on('input',function(e){
/* var value = $(this).val();
var regExp = /^-?\d*.?\d{0,2}$/;
if(!regExp.test(value)){
$(this).val(value.substring(0,value.length-1));
} */
var value = $(this).val();
var regExp =/^([-]?(\d*))(\.?\d{0,2})$/;
if(!regExp.test(value)){
value = value.substr(0, value.length - 1);
if(value.lastIndexOf("-")>0){ //중간에 -가 있다면 replace
if(value.indexOf("-")==0){ //음수라면 replace 후 - 붙여준다.
value = "-"+value.replace(/[-]/gi,'');
}else{
value = value.replace(/[-]/gi,'');
}
}
// alert("거짓 "+value)
}else{
// alert("참 "+value)
}
$(this).val(value);
});
});
function goList(){
var writeForm = document.writeForm;
var actionUrl = "/uss/ion/pay/PrePayList.do";
writeForm.action = actionUrl;
writeForm.submit();
}
function fnPrePaySave(){
var form = document.writeForm;
if(form.mberId.value == ''){
alert("아이디를 입력해 주세요.");
return false;
}
if(form.prePayDate.value == ''){
alert("결제일자를 선택해 주세요.");
return false;
}
if(form.prePayTime.value == ''){
alert("결제 시간을 입력해 주세요.");
return false;
}
if(form.amt.value == ''){
alert("결제금액을 입력해 주세요.");
return false;
}
var data = new FormData(document.writeForm);
var url = "/uss/ion/pay/insertPrePayRegistAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: true,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
var result = returnData.result;
var message = returnData.message;
if(result == "success"){
alert(message);
goList();
}else{
alert(returnData.message);
return false;
}
} else if(status== 'fail'){
alert("선결제 정보 등록 중 오류가 발생하였습니다.");
console.log("status : fail ~");
}
},
error: function (e) {
alert("선결제 정보 등록 중 오류가 발생하였습니다.");
console.log("ERROR : ", e);
},
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
}
});
}
</script>
<style>
.calBtn{
border: none;
background-color: transparent !important;
background-image: url(/pb/img/common/calendarIcon.png);
background-repeat: no-repeat;
width: 25px;
height: 25px !important;
vertical-align: middle;
margin-left: -38px !important;
margin-top: -2px !important;
cursor: pointer;
}
.pageCont {width:100%;padding:50px 30px;box-sizing:border-box;}
.tableWrapTotal {margin:0 0 20px;}
.tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;}
.tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;}
.tableWrapTotal .tbType1 thead tr.content th {font-size:14px;}
.tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;}
.listSerch .select {height:42px;vertical-align:top;}
.pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;}
.pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.layer_msg_wrap {position:relative;}
.layer_msg_wrap .layer_msg_detail {overflow:hidden;display:none;position:fixed;left:50%;top:50%;width:400px;max-height:600px;background:#eee;transform:translate(-50%, -50%);z-index:1;}
.layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;}
.layer_msg_wrap .layer_msg_detail button:before {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(-45deg);}
.layer_msg_wrap .layer_msg_detail button:after {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(45deg);}
.layer_msg_wrap .layer_msg_detail .title {height:35px;padding:0 15px;font-size:16px;line-height:35px;text-align:left;color:#fff;background:#456ded;border-radius:5px 5px 0 0;}
.layer_msg_wrap .layer_msg_detail .content {overflow-y:auto;max-height:535px;margin:15px;padding:10px 15px;line-height:20px;white-space:normal;background:#fff;}
.layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;}
@media screen and (max-width:916px){
.pageCont .tableWrap table thead tr th {padding:15px 0;}
}
</style>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<div class="loading_layer">
<div class="loading_container">
<div class="bar"></div>
<div class="text">Loading</div>
</div>
</div>
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">전송사 선결제 현황</h2>
<p class="tType6 c_999999">B선 회원의 선결제 현황을 파악할 수 있습니다.</p>
</div>
<div class="pageCont">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr class="no_modi">
<th><span class="reqArea">아이디</span></th>
<td colspan="3">
<input type="text" id="mberId" name="mberId" value="" title="아이디" style="width:120px;" maxlength="20" />
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">전송사</span></th>
<td colspan="3">
<select id="agentCode" name="agentCode" >
<option value="08">JJ B선 01라인</option>
<option value="09">JJ B선 02라인</option>
</select>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제일시</span></th>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value="">
<input type="button" class="calBtn">
</a>
<input type="text" id="prePayTime" name="prePayTime" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제금액</span></th>
<td colspan="3">
<fmt:formatNumber value="" pattern="#,###" var="cash"/>
<input type="text" step="0.01" id="amtInputId" name="amt" value="${cash}" title="결제금액" style="width:auto;min-width:120px;" size="2" maxlength="30" onblur="foucusOut(this)"/> 원
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;">
<input type="button" class="btnType1 bg_888888" value="저 장" onclick="fnPrePaySave();return false;">
</div>
</div>
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,315 @@
<%--
Class Name : PrePayList.jsp
Description : B선 회원 선결제 리스트 페이지
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023.10.26 우영두 최초 생성
Copyright (C) 2009 by ITN All right reserved.
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>선결제 리스트</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/pb/css/reset.css">
<link rel="stylesheet" href="/pb/css/common.css">
<link rel="stylesheet" href="/pb/css/content.css">
<link rel="stylesheet" href="/pb/css/popup.css">
<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="/pb/js/common.js"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script>
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.submit();
}
/* 체크된 메인배너 목록 삭제 */
/* function fn_delete(){
if($("input[name=chkEach]:checked").length == 0){
alert("삭제할 항목을 선택해 주세요.");
return;
}
if (confirm("해당 정보를 삭제하시겠습니까?")){
frm = document.listForm;
frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>";
frm.submit();
}
} */
/* 수정 화면*/
function fn_modify(prePayId){
var frm = document.modiForm ;
frm.prePayId.value = prePayId ;
frm.action = '/uss/ion/pay/PrePayPopupModifyAjax.do';
frm.submit();
}
/* function fnSelectMber(mberId) {
document.modiForm.mberId.value = mberId;
window.open("about:blank", 'popupSelectMber', 'width=1600, height=800, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>";
document.modiForm.target = "popupSelectMber";
document.modiForm.submit();
} */
//체크박스 전체선택/해제
$(document).on("click", "#chkAll", function(e) {
var isChecked = $(this).is(":checked");
$("input[name=chkEach]:checkbox").prop("checked", isChecked);
});
//기간선택 select
function fnSetCalMonth(val) {
var form = document.listForm;
var today = new Date();
var year = today.getFullYear();
var month = ("0"+(today.getMonth()+1)).slice(-2);
var date = ("0"+today.getDate()).slice(-2);
var sDate = new Date(today.setMonth(today.getMonth() - val));
var sYear = sDate.getFullYear();
var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2);
var sDate = ("0"+sDate.getDate()).slice(-2);
form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate;
form.searchEndDate.value = year + "-" + month + "-" + date;
}
//엑셀 다운로드
function sendMsgExcelDownload(){
var frm = document.listForm;
frm.method = "post";
frm.action = "<c:url value='/uss/ion/pay/SendPayExcelDownload.do'/>";
frm.submit();
}
//B선회원 선결제 팝업
function fn_RegistPopup(){
window.open("_blank", 'popupSelectPrePayRegist', 'width=700, height=800, top=50, left=0, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
document.modiForm.action = "<c:url value='/uss/ion/pay/PrePayPopupRegistAjax.do'/>";
document.modiForm.target = "popupSelectPrePayRegist";
document.modiForm.submit();
}
</script>
<style>
.calBtn{
border: none;
background-color: transparent !important;
background-image: url(/pb/img/common/calendarIcon.png);
background-repeat: no-repeat;
width: 25px;
height: 25px !important;
vertical-align: middle;
margin-left: -38px !important;
margin-top: -2px !important;
cursor: pointer;
}
.pageCont {width:100%;padding:50px 30px;box-sizing:border-box;}
.tableWrapTotal {margin:0 0 20px;}
.tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;}
.tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;}
.tableWrapTotal .tbType1 thead tr.content th {font-size:14px;}
.tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;}
.listSerch .select {height:42px;vertical-align:top;}
.pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;}
.pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.layer_msg_wrap {position:relative;}
.layer_msg_wrap .layer_msg_detail {overflow:hidden;display:none;position:fixed;left:50%;top:50%;width:400px;max-height:600px;background:#eee;transform:translate(-50%, -50%);z-index:1;}
.layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;}
.layer_msg_wrap .layer_msg_detail button:before {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(-45deg);}
.layer_msg_wrap .layer_msg_detail button:after {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(45deg);}
.layer_msg_wrap .layer_msg_detail .title {height:35px;padding:0 15px;font-size:16px;line-height:35px;text-align:left;color:#fff;background:#456ded;border-radius:5px 5px 0 0;}
.layer_msg_wrap .layer_msg_detail .content {overflow-y:auto;max-height:535px;margin:15px;padding:10px 15px;line-height:20px;white-space:normal;background:#fff;}
.layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;}
@media screen and (max-width:916px){
.pageCont .tableWrap table thead tr th {padding:15px 0;}
}
</style>
</head>
<body>
<compress:html>
<form name="listForm" action="<c:url value='/uss/ion/pay/PrePayPopupListAjax.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="selectedId" />
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
<div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">선결제 현황</h2>
<p class="tType6 c_999999">B선 사용자 선결제 현황을 파악할 수 있습니다.</p>
</div>
<div class="pageCont">
<div class="listSerch">
<div class="calendar_wrap">
<select name="setCalMonth" onchange="fnSetCalMonth(this.value)">
<option value="0">전체</option>
<option value="1">1개월</option>
<option value="3">3개월</option>
<option value="6">6개월</option>
</select>
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchStartDate" id="searchStartDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchStartDate}'/>">
<input type="button" class="calBtn">
</div>
<span class="line">~</span>
<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchEndDate" id="searchEndDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchEndDate}'/>">
<input type="button" class="calBtn">
</div>
</div>
<select id="searchCondition" name="searchCondition" class="select" title="전송사">
<option value="">전체</option>
<option value="08" <c:if test="${searchVO.searchCondition == '08'}">selected="selected"</c:if>>제이제이 B선 01 라인 </option>
<option value="09" <c:if test="${searchVO.searchCondition == '09'}">selected="selected"</c:if>>제이제이 B선 02 라인</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100"/>
<input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;">
<input type="button" class="btnType1" onclick="fn_searchReset(); return false;" value="초기화">
</div>
<div class="listTop">
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건(총 <fmt:formatNumber value="${totSumPrice}" pattern="#,###" /> 원)</p>
<div class="rightWrap">
<!-- <input type="button" class="printBtn"> -->
<input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();" style="cursor: pointer;" />
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select>
</div>
</div>
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<%-- <col style="width: 10%"> --%>
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 15%">
<col style="width: 20%">
<col style="width: 15%">
</colgroup>
<thead>
<tr>
<!-- <th><input type="checkbox" name="checkAll" id="checkAll" class="check2" value="1" onClick="fnCheckAll();"></th> -->
<!-- <th>
<input type="checkbox" id="chkAll">
</th> -->
<th>번호<input type="button" class="sort sortBtn" id="sort_prePayId"></th>
<th>아이디<input type="button" class="sort sortBtn" id="sort_mberId"></th>
<th>전송사<input type="button" class="sort sortBtn" id="sort_agentCode"></th>
<th>선결제일시<input type="button" class="sort sortBtn" id="sort_prePayDate"></th>
<th>결제금액<input type="button" class="sort sortBtn" id="sort_amt"></th>
<th>등록일자<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th>
</tr>
</thead>
<tbody>
<c:forEach var="result" items="${resultList}" varStatus="status">
<tr>
<%-- <td>
<input type="checkbox" name="chkEach" id="chkEach_${status.index}" value="${result.prePayId}">
</td> --%>
<td>
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</td>
<td>
<%-- <a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.mberId}"/>'); return false;"> --%>
<c:out value="${result.mberId}"/>
<!-- </a> -->
</td>
<td>
<a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;">
<c:out value="${result.agentCodeDc}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;">
<c:out value="${result.prePayDate}"/> <c:out value="${result.prePayTime}"/>
</a>
</td>
<td>
<fmt:formatNumber value="${result.amt}" pattern="#,###" />
</td>
<td>
<c:out value="${result.lastUpdtPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty resultList}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btnWrap">
<!-- <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> -->
<input type="button" class="btnType1" value="등록" onclick="fn_RegistPopup(); return false;">
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty resultList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</form>
<form name="modiForm" id="modiForm" method="post">
<input type="hidden" name="prePayId" />
<input type="hidden" name="mberId" value="<c:out value='${mberId}'/>"/>
<input type="hidden" name="searchCondition" value="" />
<input type="hidden" name="searchKeyword" value="" />
<input type="hidden" name="pageUnit" value="${searchVO.pageUnit}" />
</form>
</compress:html>
</body>
</html>

View File

@ -0,0 +1,209 @@
<%
/**
* @Class Name : PrePayModify.jsp
* @Description : B선 회원 선결제 상세 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>팝업창관리 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/pb/css/reset.css">
<link rel="stylesheet" href="/pb/css/common.css">
<link rel="stylesheet" href="/pb/css/content.css">
<link rel="stylesheet" href="/pb/css/popup.css">
<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="/pb/js/common.js"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script>
<script type="text/javaScript" language="javascript">
/* 수정 */
function fn_modify(){
var frm = document.writeForm;
if(frm.mberId.value == ''){
alert("아이디를 입력해 주세요.");
return false;
}
if(frm.prePayDate.value == ''){
alert("결제일자를 선택해 주세요.");
return false;
}
if(frm.prePayTime.value == ''){
alert("결제 시간을 입력해 주세요.");
return false;
}
if(frm.amt.value == ''){
alert("결제금액을 입력해 주세요.");
return false;
}
if(!confirm("수정하시겠습니까?")) {
return;
}
frm.action = "<c:url value='/uss/ion/pay/updatePrePayModify.do'/>";
frm.submit();
}
/* 체크된 메인배너 목록 삭제 */
function fn_delete(){
if (confirm("해당 정보를 삭제하시겠습니까?")){
frm = document.delForm;
frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>";
frm.submit();
}
}
function goList(){
var writeForm = document.writeForm;
var actionUrl = "/uss/ion/pay/PrePayPopupListAjax.do";
writeForm.action = actionUrl;
writeForm.submit();
}
</script>
<style>
.calBtn{
border: none;
background-color: transparent !important;
background-image: url(/pb/img/common/calendarIcon.png);
background-repeat: no-repeat;
width: 25px;
height: 25px !important;
vertical-align: middle;
margin-left: -38px !important;
margin-top: -2px !important;
cursor: pointer;
}
.pageCont {width:100%;padding:50px 30px;box-sizing:border-box;}
.tableWrapTotal {margin:0 0 20px;}
.tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;}
.tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;}
.tableWrapTotal .tbType1 thead tr.content th {font-size:14px;}
.tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;}
.listSerch .select {height:42px;vertical-align:top;}
.pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;}
.pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.layer_msg_wrap {position:relative;}
.layer_msg_wrap .layer_msg_detail {overflow:hidden;display:none;position:fixed;left:50%;top:50%;width:400px;max-height:600px;background:#eee;transform:translate(-50%, -50%);z-index:1;}
.layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;}
.layer_msg_wrap .layer_msg_detail button:before {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(-45deg);}
.layer_msg_wrap .layer_msg_detail button:after {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(45deg);}
.layer_msg_wrap .layer_msg_detail .title {height:35px;padding:0 15px;font-size:16px;line-height:35px;text-align:left;color:#fff;background:#456ded;border-radius:5px 5px 0 0;}
.layer_msg_wrap .layer_msg_detail .content {overflow-y:auto;max-height:535px;margin:15px;padding:10px 15px;line-height:20px;white-space:normal;background:#fff;}
.layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;}
@media screen and (max-width:916px){
.pageCont .tableWrap table thead tr th {padding:15px 0;}
}
</style>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" id="prePayId" name="prePayId" value="<c:out value='${resultVO.prePayId}'/>"/>
<div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">선결제 정보 수정</h2>
<p class="tType6 c_999999">선결제정보 수정 할 수 있습니다.</p>
</div>
<div class="pageCont">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr class="no_modi">
<th><span class="reqArea">아이디</span></th>
<td colspan="3">
<input type="text" id="mberId" name="mberId" value="<c:out value="${resultVO.mberId}"/>" title="아이디" style="width:120px;" maxlength="20" />
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">전송사</span></th>
<td colspan="3">
<select id="agentCode" name="agentCode" >
<option value="08" <c:if test="${resultVO.agentCode == '08'}">selected</c:if> >JJ B01</option>
<option value="09" <c:if test="${resultVO.agentCode == '09'}">selected</c:if> >JJ B02</option>
</select>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제일시</span></th>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value="<c:out value='${resultVO.prePayDate}'/>">
<input type="button" class="calBtn">
</a>
<input type="text" id="prePayTime" name="prePayTime" value="<c:out value='${resultVO.prePayTime}'/>" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제금액</span></th>
<td colspan="3">
<fmt:formatNumber value="${resultVO.amt}" pattern="#,###" var="cash"/>
<input type="text" step="0.01" id="amtInputId" name="amt" value="${cash}" title="결제금액" style="width:auto;min-width:120px;" size="2" maxlength="30" onblur="foucusOut(this)"/> 원
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<!-- <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> -->
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;">
<!-- <input type="button" class="btnType1" value="수 정" onclick="fn_modify(); return false;"> -->
</div>
</div>
</div>
</form>
<form id="delForm" name="delForm" method="post">
<input type="hidden" id="chkEach" name="chkEach" value="<c:out value='${resultVO.prePayId}'/>"/>
</form>
</body>
</html>

View File

@ -0,0 +1,272 @@
<%
/**
* @Class Name : PrePayRegist.jsp
* @Description : B선 회원 선결제 등록 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>전송사 선결제 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/pb/css/reset.css">
<link rel="stylesheet" href="/pb/css/common.css">
<link rel="stylesheet" href="/pb/css/content.css">
<link rel="stylesheet" href="/pb/css/popup.css">
<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="/pb/js/common.js"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$('#amtInputId').off('input').on('input',function(e){
/* var value = $(this).val();
var regExp = /^-?\d*.?\d{0,2}$/;
if(!regExp.test(value)){
$(this).val(value.substring(0,value.length-1));
} */
var value = $(this).val();
var regExp =/^([-]?(\d*))(\.?\d{0,2})$/;
if(!regExp.test(value)){
value = value.substr(0, value.length - 1);
if(value.lastIndexOf("-")>0){ //중간에 -가 있다면 replace
if(value.indexOf("-")==0){ //음수라면 replace 후 - 붙여준다.
value = "-"+value.replace(/[-]/gi,'');
}else{
value = value.replace(/[-]/gi,'');
}
}
// alert("거짓 "+value)
}else{
// alert("참 "+value)
}
$(this).val(value);
});
});
function goList(){
var writeForm = document.writeForm;
var actionUrl = "/uss/ion/pay/PrePayList.do";
writeForm.action = actionUrl;
writeForm.submit();
}
function fnPrePaySave(){
var form = document.writeForm;
if(form.mberId.value == ''){
alert("아이디를 입력해 주세요.");
return false;
}
if(form.prePayDate.value == ''){
alert("결제일자를 선택해 주세요.");
return false;
}
if(form.prePayTime.value == ''){
alert("결제 시간을 입력해 주세요.");
return false;
}
if(form.amt.value == ''){
alert("결제금액을 입력해 주세요.");
return false;
}
var data = new FormData(document.writeForm);
var url = "/uss/ion/pay/insertPrePayRegistAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: true,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
var result = returnData.result;
var message = returnData.message;
if(result == "success"){
alert(message);
opener.location.reload();
window.close();
}else{
alert(returnData.message);
return false;
}
} else if(status== 'fail'){
alert("선결제 정보 등록 중 오류가 발생하였습니다.");
console.log("status : fail ~");
}
},
error: function (e) {
alert("선결제 정보 등록 중 오류가 발생하였습니다.");
console.log("ERROR : ", e);
},
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
}
});
}
</script>
<style>
.calBtn{
border: none;
background-color: transparent !important;
background-image: url(/pb/img/common/calendarIcon.png);
background-repeat: no-repeat;
width: 25px;
height: 25px !important;
vertical-align: middle;
margin-left: -38px !important;
margin-top: -2px !important;
cursor: pointer;
}
.pageCont {width:100%;padding:50px 30px;box-sizing:border-box;}
.tableWrapTotal {margin:0 0 20px;}
.tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;}
.tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;}
.tableWrapTotal .tbType1 thead tr.content th {font-size:14px;}
.tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;}
.tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;}
.listSerch .select {height:42px;vertical-align:top;}
.pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;}
.pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.layer_msg_wrap {position:relative;}
.layer_msg_wrap .layer_msg_detail {overflow:hidden;display:none;position:fixed;left:50%;top:50%;width:400px;max-height:600px;background:#eee;transform:translate(-50%, -50%);z-index:1;}
.layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;}
.layer_msg_wrap .layer_msg_detail button:before {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(-45deg);}
.layer_msg_wrap .layer_msg_detail button:after {content:'';position:absolute;left:50%;top:50%;width:1px;height:14px;margin:-7px 0 0;background:#fff;transform:rotate(45deg);}
.layer_msg_wrap .layer_msg_detail .title {height:35px;padding:0 15px;font-size:16px;line-height:35px;text-align:left;color:#fff;background:#456ded;border-radius:5px 5px 0 0;}
.layer_msg_wrap .layer_msg_detail .content {overflow-y:auto;max-height:535px;margin:15px;padding:10px 15px;line-height:20px;white-space:normal;background:#fff;}
.layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;}
@media screen and (max-width:916px){
.pageCont .tableWrap table thead tr th {padding:15px 0;}
}
</style>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<div class="loading_layer">
<div class="loading_container">
<div class="bar"></div>
<div class="text">Loading</div>
</div>
</div>
<div class="contWrap" style="width:calc(100% - 800px);position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">전송사 선결제 현황</h2>
<p class="tType6 c_999999">B선 회원의 선결제 현황을 파악할 수 있습니다.</p>
</div>
<div class="pageCont">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr class="no_modi">
<th><span class="reqArea">아이디</span></th>
<td colspan="3">
<input type="text" id="mberId" name="mberId" value="<c:out value='${mberId}'/>" title="아이디" style="width:120px;" maxlength="20" />
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">전송사</span></th>
<td colspan="3">
<select id="agentCode" name="agentCode" style="width:43%;">
<option value="08">JJ B선 01라인</option>
<option value="09">JJ B선 02라인</option>
</select>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제일시</span></th>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);">
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value="">
<input type="button" class="calBtn">
</a>
<input type="text" id="prePayTime" name="prePayTime" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/>
</td>
</tr>
<tr class="no_modi">
<th><span class="reqArea">결제금액</span></th>
<td colspan="3">
<fmt:formatNumber value="" pattern="#,###" var="cash"/>
<input type="text" step="0.01" id="amtInputId" name="amt" value="${cash}" title="결제금액" style="width:auto;min-width:120px;" size="2" maxlength="30" onblur="foucusOut(this)"/> 원
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<input type="button" class="btnType1 bg_888888" value="저 장" onclick="fnPrePaySave();return false;">
</div>
</div>
</div>
</form>
</body>
</html>