관리자 비선 선결제 관리 기능 추가
@72f856cf00101578f4d6fc7c71527d659aedd19a
+++ src/main/java/itn/let/mjo/pay/service/MjonPrePayService.java
... | ... | @@ -0,0 +1,18 @@ |
| 1 | +package itn.let.mjo.pay.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public interface MjonPrePayService { | |
| 6 | + | |
| 7 | + public int selectBLineMberCnt(String mberId) throws Exception; | |
| 8 | + | |
| 9 | + public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception; | |
| 10 | + | |
| 11 | + public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception; | |
| 12 | + | |
| 13 | + public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception; | |
| 14 | + | |
| 15 | + public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception; | |
| 16 | + | |
| 17 | + public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception; | |
| 18 | +} |
+++ src/main/java/itn/let/mjo/pay/service/MjonPrePayVO.java
... | ... | @@ -0,0 +1,108 @@ |
| 1 | +package itn.let.mjo.pay.service; | |
| 2 | + | |
| 3 | +import itn.com.cmm.ComDefaultVO; | |
| 4 | + | |
| 5 | +public class MjonPrePayVO extends ComDefaultVO{ | |
| 6 | + | |
| 7 | + /** | |
| 8 | + * | |
| 9 | + */ | |
| 10 | + private static final long serialVersionUID = 1L; | |
| 11 | + | |
| 12 | + private String prePayId; | |
| 13 | + private String mberId; | |
| 14 | + private String agentCode; | |
| 15 | + private String prePayDate; | |
| 16 | + private String prePayTime; | |
| 17 | + private String amt; | |
| 18 | + | |
| 19 | + private String frstRegisterId; | |
| 20 | + private String frstRegistPnttm; | |
| 21 | + private String lastUpdusrId; | |
| 22 | + private String lastUpdtPnttm; | |
| 23 | + | |
| 24 | + private String agentCodeNm; | |
| 25 | + private String agentCodeDc; | |
| 26 | + | |
| 27 | + private String totSum; | |
| 28 | + | |
| 29 | + public String getPrePayId() { | |
| 30 | + return prePayId; | |
| 31 | + } | |
| 32 | + public void setPrePayId(String prePayId) { | |
| 33 | + this.prePayId = prePayId; | |
| 34 | + } | |
| 35 | + public String getMberId() { | |
| 36 | + return mberId; | |
| 37 | + } | |
| 38 | + public void setMberId(String mberId) { | |
| 39 | + this.mberId = mberId; | |
| 40 | + } | |
| 41 | + public String getAgentCode() { | |
| 42 | + return agentCode; | |
| 43 | + } | |
| 44 | + public void setAgentCode(String agentCode) { | |
| 45 | + this.agentCode = agentCode; | |
| 46 | + } | |
| 47 | + public String getPrePayDate() { | |
| 48 | + return prePayDate; | |
| 49 | + } | |
| 50 | + public void setPrePayDate(String prePayDate) { | |
| 51 | + this.prePayDate = prePayDate; | |
| 52 | + } | |
| 53 | + public String getPrePayTime() { | |
| 54 | + return prePayTime; | |
| 55 | + } | |
| 56 | + public void setPrePayTime(String prePayTime) { | |
| 57 | + this.prePayTime = prePayTime; | |
| 58 | + } | |
| 59 | + public String getAmt() { | |
| 60 | + return amt; | |
| 61 | + } | |
| 62 | + public void setAmt(String amt) { | |
| 63 | + this.amt = amt; | |
| 64 | + } | |
| 65 | + public String getFrstRegisterId() { | |
| 66 | + return frstRegisterId; | |
| 67 | + } | |
| 68 | + public void setFrstRegisterId(String frstRegisterId) { | |
| 69 | + this.frstRegisterId = frstRegisterId; | |
| 70 | + } | |
| 71 | + public String getFrstRegistPnttm() { | |
| 72 | + return frstRegistPnttm; | |
| 73 | + } | |
| 74 | + public void setFrstRegistPnttm(String frstRegistPnttm) { | |
| 75 | + this.frstRegistPnttm = frstRegistPnttm; | |
| 76 | + } | |
| 77 | + public String getLastUpdusrId() { | |
| 78 | + return lastUpdusrId; | |
| 79 | + } | |
| 80 | + public void setLastUpdusrId(String lastUpdusrId) { | |
| 81 | + this.lastUpdusrId = lastUpdusrId; | |
| 82 | + } | |
| 83 | + public String getLastUpdtPnttm() { | |
| 84 | + return lastUpdtPnttm; | |
| 85 | + } | |
| 86 | + public void setLastUpdtPnttm(String lastUpdtPnttm) { | |
| 87 | + this.lastUpdtPnttm = lastUpdtPnttm; | |
| 88 | + } | |
| 89 | + public String getAgentCodeNm() { | |
| 90 | + return agentCodeNm; | |
| 91 | + } | |
| 92 | + public void setAgentCodeNm(String agentCodeNm) { | |
| 93 | + this.agentCodeNm = agentCodeNm; | |
| 94 | + } | |
| 95 | + public String getAgentCodeDc() { | |
| 96 | + return agentCodeDc; | |
| 97 | + } | |
| 98 | + public void setAgentCodeDc(String agentCodeDc) { | |
| 99 | + this.agentCodeDc = agentCodeDc; | |
| 100 | + } | |
| 101 | + public String getTotSum() { | |
| 102 | + return totSum; | |
| 103 | + } | |
| 104 | + public void setTotSum(String totSum) { | |
| 105 | + this.totSum = totSum; | |
| 106 | + } | |
| 107 | + | |
| 108 | +} |
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPrePayDAO.java
... | ... | @@ -0,0 +1,109 @@ |
| 1 | +package itn.let.mjo.pay.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import org.springframework.stereotype.Repository; | |
| 7 | + | |
| 8 | +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; | |
| 9 | +import itn.let.mjo.pay.service.MjonPrePayVO; | |
| 10 | + | |
| 11 | +@Repository("mjonPrePayDAO") | |
| 12 | +public class MjonPrePayDAO extends EgovAbstractDAO { | |
| 13 | + | |
| 14 | + public int selectBLineMberCnt(String mberId) throws Exception{ | |
| 15 | + | |
| 16 | + int result = 0; | |
| 17 | + | |
| 18 | + try { | |
| 19 | + | |
| 20 | + result = (int) select("mjonPrePayDAO.selectBLineMberCnt", mberId); | |
| 21 | + | |
| 22 | + } catch (Exception e) { | |
| 23 | + System.out.println("+++++++++++++ selectBLineMberCnt Service DAO Error !!! " + e); | |
| 24 | + } | |
| 25 | + | |
| 26 | + return result; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 30 | + | |
| 31 | + int resultCnt = 0; | |
| 32 | + | |
| 33 | + try { | |
| 34 | + | |
| 35 | + resultCnt = update("mjonPrePayDAO.insertPrePayInfo", mjonPrePayVO); | |
| 36 | + | |
| 37 | + } catch (Exception e) { | |
| 38 | + System.out.println("+++++++++++++ insertPrePayInfo Service DAO Error !!! " + e); | |
| 39 | + } | |
| 40 | + | |
| 41 | + return resultCnt; | |
| 42 | + } | |
| 43 | + | |
| 44 | + | |
| 45 | + @SuppressWarnings("unchecked") | |
| 46 | + public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 47 | + | |
| 48 | + List<MjonPrePayVO> resultList = new ArrayList<MjonPrePayVO>(); | |
| 49 | + | |
| 50 | + try { | |
| 51 | + | |
| 52 | + resultList = (List<MjonPrePayVO>) list("mjonPrePayDAO.selectPrePayList", mjonPrePayVO); | |
| 53 | + | |
| 54 | + } catch (Exception e) { | |
| 55 | + System.out.println("+++++++++++++ selectPrePayList Service DAO Error !!! " + e); | |
| 56 | + } | |
| 57 | + | |
| 58 | + | |
| 59 | + return resultList; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 63 | + | |
| 64 | + int result = 0; | |
| 65 | + | |
| 66 | + try { | |
| 67 | + | |
| 68 | + result = update("mjonPrePayDAO.deletePrePayInfo", mjonPrePayVO); | |
| 69 | + | |
| 70 | + } catch (Exception e) { | |
| 71 | + System.out.println("+++++++++++++ deletePrePayInfo Service DAO Error !!! " + e); | |
| 72 | + } | |
| 73 | + | |
| 74 | + return result; | |
| 75 | + | |
| 76 | + } | |
| 77 | + | |
| 78 | + public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 79 | + | |
| 80 | + MjonPrePayVO result = new MjonPrePayVO(); | |
| 81 | + | |
| 82 | + try { | |
| 83 | + | |
| 84 | + result = (MjonPrePayVO) select("mjonPrePayDAO.selectPrePayInfo", mjonPrePayVO); | |
| 85 | + | |
| 86 | + } catch (Exception e) { | |
| 87 | + System.out.println("+++++++++++++ selectPrePayInfo Service DAO Error !!! " + e); | |
| 88 | + } | |
| 89 | + | |
| 90 | + return result; | |
| 91 | + | |
| 92 | + } | |
| 93 | + | |
| 94 | + public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 95 | + | |
| 96 | + int resultCnt = 0; | |
| 97 | + | |
| 98 | + try { | |
| 99 | + | |
| 100 | + resultCnt = update("mjonPrePayDAO.updatePrePayModify", mjonPrePayVO); | |
| 101 | + | |
| 102 | + } catch (Exception e) { | |
| 103 | + System.out.println("+++++++++++++ selectPrePayInfo Service DAO Error !!! " + e); | |
| 104 | + } | |
| 105 | + | |
| 106 | + return resultCnt; | |
| 107 | + } | |
| 108 | + | |
| 109 | +} |
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPrePayServiceImpl.java
... | ... | @@ -0,0 +1,120 @@ |
| 1 | +package itn.let.mjo.pay.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import javax.annotation.Resource; | |
| 7 | + | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | + | |
| 10 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 11 | +import itn.let.mjo.pay.service.MjonPrePayService; | |
| 12 | +import itn.let.mjo.pay.service.MjonPrePayVO; | |
| 13 | + | |
| 14 | +@Service("mjonPrePayService") | |
| 15 | +public class MjonPrePayServiceImpl extends EgovAbstractServiceImpl implements MjonPrePayService { | |
| 16 | + | |
| 17 | + @Resource(name="mjonPrePayDAO") | |
| 18 | + private MjonPrePayDAO mjonPrePayDAO; | |
| 19 | + | |
| 20 | + //B선 회원 정보 조회 | |
| 21 | + @Override | |
| 22 | + public int selectBLineMberCnt(String mberId) throws Exception{ | |
| 23 | + | |
| 24 | + int result = 0; | |
| 25 | + | |
| 26 | + try { | |
| 27 | + | |
| 28 | + result = mjonPrePayDAO.selectBLineMberCnt(mberId); | |
| 29 | + | |
| 30 | + } catch (Exception e) { | |
| 31 | + System.out.println("+++++++++++++ selectBLineMberCnt Service Impl Error !!! " + e); | |
| 32 | + } | |
| 33 | + | |
| 34 | + return result; | |
| 35 | + } | |
| 36 | + | |
| 37 | + @Override | |
| 38 | + public int insertPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 39 | + | |
| 40 | + int resultCnt = 0; | |
| 41 | + | |
| 42 | + try { | |
| 43 | + | |
| 44 | + resultCnt = mjonPrePayDAO.insertPrePayInfo(mjonPrePayVO); | |
| 45 | + | |
| 46 | + } catch (Exception e) { | |
| 47 | + System.out.println("+++++++++++++ insertPrePayInfo Service Impl Error !!! " + e); | |
| 48 | + } | |
| 49 | + | |
| 50 | + return resultCnt; | |
| 51 | + } | |
| 52 | + | |
| 53 | + | |
| 54 | + @Override | |
| 55 | + public List<MjonPrePayVO> selectPrePayList(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 56 | + | |
| 57 | + List<MjonPrePayVO> resultList = new ArrayList<MjonPrePayVO>(); | |
| 58 | + | |
| 59 | + try { | |
| 60 | + | |
| 61 | + resultList = mjonPrePayDAO.selectPrePayList(mjonPrePayVO); | |
| 62 | + | |
| 63 | + } catch (Exception e) { | |
| 64 | + System.out.println("+++++++++++++ selectPrePayList Service Impl Error !!! " + e); | |
| 65 | + } | |
| 66 | + | |
| 67 | + return resultList; | |
| 68 | + } | |
| 69 | + | |
| 70 | + @Override | |
| 71 | + public int deletePrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 72 | + | |
| 73 | + int result = 0; | |
| 74 | + | |
| 75 | + try { | |
| 76 | + | |
| 77 | + result = mjonPrePayDAO.deletePrePayInfo(mjonPrePayVO); | |
| 78 | + | |
| 79 | + } catch (Exception e) { | |
| 80 | + System.out.println("+++++++++++++ deletePrePayInfo Service Impl Error !!! " + e); | |
| 81 | + } | |
| 82 | + | |
| 83 | + return result; | |
| 84 | + | |
| 85 | + } | |
| 86 | + | |
| 87 | + @Override | |
| 88 | + public MjonPrePayVO selectPrePayInfo(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 89 | + | |
| 90 | + MjonPrePayVO result = new MjonPrePayVO(); | |
| 91 | + | |
| 92 | + try { | |
| 93 | + | |
| 94 | + result = mjonPrePayDAO.selectPrePayInfo(mjonPrePayVO); | |
| 95 | + | |
| 96 | + } catch (Exception e) { | |
| 97 | + System.out.println("+++++++++++++ selectPrePayInfo Service Impl Error !!! " + e); | |
| 98 | + } | |
| 99 | + | |
| 100 | + return result; | |
| 101 | + | |
| 102 | + } | |
| 103 | + | |
| 104 | + @Override | |
| 105 | + public int updatePrePayModify(MjonPrePayVO mjonPrePayVO) throws Exception{ | |
| 106 | + | |
| 107 | + int resultCnt = 0; | |
| 108 | + | |
| 109 | + try { | |
| 110 | + | |
| 111 | + resultCnt = mjonPrePayDAO.updatePrePayModify(mjonPrePayVO); | |
| 112 | + | |
| 113 | + } catch (Exception e) { | |
| 114 | + System.out.println("+++++++++++++ selectPrePayInfo Service Impl Error !!! " + e); | |
| 115 | + } | |
| 116 | + | |
| 117 | + return resultCnt; | |
| 118 | + } | |
| 119 | + | |
| 120 | +} |
+++ src/main/java/itn/let/mjo/pay/web/MjonPrePayController.java
... | ... | @@ -0,0 +1,567 @@ |
| 1 | +package itn.let.mjo.pay.web; | |
| 2 | + | |
| 3 | +import java.io.OutputStream; | |
| 4 | +import java.text.SimpleDateFormat; | |
| 5 | +import java.util.Date; | |
| 6 | +import java.util.List; | |
| 7 | +import java.util.Locale; | |
| 8 | + | |
| 9 | +import javax.annotation.Resource; | |
| 10 | +import javax.servlet.http.HttpServletRequest; | |
| 11 | +import javax.servlet.http.HttpServletResponse; | |
| 12 | + | |
| 13 | +import org.apache.poi.ss.usermodel.Cell; | |
| 14 | +import org.apache.poi.ss.usermodel.CellStyle; | |
| 15 | +import org.apache.poi.ss.usermodel.Font; | |
| 16 | +import org.apache.poi.ss.usermodel.Row; | |
| 17 | +import org.apache.poi.ss.usermodel.Sheet; | |
| 18 | +import org.apache.poi.xssf.streaming.SXSSFWorkbook; | |
| 19 | +import org.slf4j.Logger; | |
| 20 | +import org.slf4j.LoggerFactory; | |
| 21 | +import org.springframework.stereotype.Controller; | |
| 22 | +import org.springframework.ui.Model; | |
| 23 | +import org.springframework.ui.ModelMap; | |
| 24 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 25 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 26 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 27 | +import org.springframework.web.servlet.HandlerMapping; | |
| 28 | +import org.springframework.web.servlet.ModelAndView; | |
| 29 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 30 | + | |
| 31 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 32 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; | |
| 33 | +import itn.com.cmm.EgovMessageSource; | |
| 34 | +import itn.com.cmm.LoginVO; | |
| 35 | +import itn.com.cmm.util.RedirectUrlMaker; | |
| 36 | +import itn.com.utl.fcc.service.EgovStringUtil; | |
| 37 | +import itn.let.mjo.pay.service.MjonPayService; | |
| 38 | +import itn.let.mjo.pay.service.MjonPrePayService; | |
| 39 | +import itn.let.mjo.pay.service.MjonPrePayVO; | |
| 40 | +import itn.let.uss.umt.service.EgovUserManageService; | |
| 41 | + | |
| 42 | +@Controller | |
| 43 | +public class MjonPrePayController { | |
| 44 | + | |
| 45 | + private static final Logger LOGGER = LoggerFactory.getLogger(MjonPrePayController.class); | |
| 46 | + | |
| 47 | + @Resource(name = "mjonPayService") | |
| 48 | + private MjonPayService mjonPayService; | |
| 49 | + | |
| 50 | + @Resource(name = "mjonPrePayService") | |
| 51 | + private MjonPrePayService mjonPrePayService; | |
| 52 | + | |
| 53 | + /** EgovMessageSource */ | |
| 54 | + @Resource(name="egovMessageSource") | |
| 55 | + EgovMessageSource egovMessageSource; | |
| 56 | + | |
| 57 | + /** userManageService */ | |
| 58 | + @Resource(name = "userManageService") | |
| 59 | + private EgovUserManageService userManageService; | |
| 60 | + | |
| 61 | + //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} | |
| 62 | + private String[][] sendPrePayExcelValue ={ | |
| 63 | + {"0" ,"번호" , "1" , "" }, | |
| 64 | + {"1", "아이디" , "아이디" , ""}, | |
| 65 | + {"2", "전송사" , "개인전용계좌", ""}, | |
| 66 | + {"3", "선결제일시" , "2021-06-08 11:05:38", ""}, | |
| 67 | + {"4", "결제금액" , "1000", ""}, | |
| 68 | + {"5", "등록일자" , "2021-06-08 11:05:38", ""}, | |
| 69 | + } ; | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 결제 리스트 | |
| 73 | + * @param searchVO | |
| 74 | + * @param model | |
| 75 | + * @return "/uss/ion/msg/SendNumberList" | |
| 76 | + * @throws Exception | |
| 77 | + */ | |
| 78 | + @RequestMapping(value= {"/uss/ion/pay/PrePayList.do"}) | |
| 79 | + public String selectPrePayList(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 80 | + HttpServletRequest request, | |
| 81 | + ModelMap model) throws Exception{ | |
| 82 | + | |
| 83 | + String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ; | |
| 84 | + | |
| 85 | + // 미인증 사용자에 대한 보안처리 | |
| 86 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 87 | + if(!isAuthenticated) { | |
| 88 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 89 | + return "uat/uia/EgovLoginUsr"; | |
| 90 | + } | |
| 91 | + | |
| 92 | + /** pageing */ | |
| 93 | + PaginationInfo paginationInfo = new PaginationInfo(); | |
| 94 | + paginationInfo.setCurrentPageNo(mjonPrePayVO.getPageIndex()); | |
| 95 | + paginationInfo.setRecordCountPerPage(mjonPrePayVO.getPageUnit()); | |
| 96 | + paginationInfo.setPageSize(mjonPrePayVO.getPageSize()); | |
| 97 | + | |
| 98 | + mjonPrePayVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 99 | + mjonPrePayVO.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 100 | + mjonPrePayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 101 | + | |
| 102 | + if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 103 | + mjonPrePayVO.setSearchSortCnd("prePayDate"); | |
| 104 | + mjonPrePayVO.setSearchSortOrd("desc"); | |
| 105 | + } | |
| 106 | + | |
| 107 | + List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO); | |
| 108 | + | |
| 109 | + model.addAttribute("resultList", resultList); | |
| 110 | + model.addAttribute("totSumPrice", resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotSum() : 0); | |
| 111 | + paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotCnt() : 0); | |
| 112 | + model.addAttribute("paginationInfo", paginationInfo); | |
| 113 | + | |
| 114 | + return "/uss/ion/pay/prePay/PrePayList"; | |
| 115 | + } | |
| 116 | + | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * 선결제 등록화면 | |
| 120 | + * @param searchVO | |
| 121 | + * @param model | |
| 122 | + * @return "/uss/ion/pay/PrePayRegist.do" | |
| 123 | + * @throws Exception | |
| 124 | + */ | |
| 125 | + @RequestMapping(value= {"/uss/ion/pay/PrePayRegist.do"}) | |
| 126 | + public String PrePayRegist(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 127 | + HttpServletRequest request, | |
| 128 | + ModelMap model) throws Exception{ | |
| 129 | + | |
| 130 | + // 미인증 사용자에 대한 보안처리 | |
| 131 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 132 | + if(!isAuthenticated) { | |
| 133 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 134 | + return "uat/uia/EgovLoginUsr"; | |
| 135 | + } | |
| 136 | + | |
| 137 | + | |
| 138 | + return "/uss/ion/pay/prePay/PrePayRegist"; | |
| 139 | + } | |
| 140 | + | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * 선결제 등록 처리 | |
| 144 | + * @param searchVO | |
| 145 | + * @param model | |
| 146 | + * @return "uss/ion/pay/insertPrePayRegistAjax" | |
| 147 | + * @throws Exception | |
| 148 | + */ | |
| 149 | + @RequestMapping(value= {"/uss/ion/pay/insertPrePayRegistAjax.do"}) | |
| 150 | + public ModelAndView insertPrePayRegistAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 151 | + HttpServletRequest request, | |
| 152 | + ModelMap model) throws Exception{ | |
| 153 | + | |
| 154 | + ModelAndView modelAndView = new ModelAndView(); | |
| 155 | + modelAndView.setViewName("jsonView"); | |
| 156 | + | |
| 157 | + // 미인증 사용자에 대한 보안처리 | |
| 158 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 159 | + if(!isAuthenticated) { | |
| 160 | + modelAndView.addObject("result", "loginFail"); | |
| 161 | + modelAndView.addObject("message", "로그인이 필요합니다."); | |
| 162 | + return modelAndView; | |
| 163 | + } | |
| 164 | + | |
| 165 | + try { | |
| 166 | + | |
| 167 | + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; | |
| 168 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 169 | + | |
| 170 | + String mberId = mjonPrePayVO.getMberId(); | |
| 171 | + mjonPrePayVO.setFrstRegisterId(userId); | |
| 172 | + mjonPrePayVO.setLastUpdusrId(userId); | |
| 173 | + | |
| 174 | + if(mjonPrePayVO.getAmt().length() == 0 | |
| 175 | + || mjonPrePayVO.getMberId().length() == 0 | |
| 176 | + || mjonPrePayVO.getPrePayDate().length() == 0) { | |
| 177 | + | |
| 178 | + modelAndView.addObject("result", "dataFail"); | |
| 179 | + modelAndView.addObject("message", "필수 입력값을 확인해 주세요."); | |
| 180 | + | |
| 181 | + return modelAndView; | |
| 182 | + | |
| 183 | + } | |
| 184 | + | |
| 185 | + int mberCnt = mjonPrePayService.selectBLineMberCnt(mberId); | |
| 186 | + | |
| 187 | + if(mberCnt > 0) { | |
| 188 | + | |
| 189 | + int resultCnt = mjonPrePayService.insertPrePayInfo(mjonPrePayVO); | |
| 190 | + | |
| 191 | + if(resultCnt > 0) { | |
| 192 | + | |
| 193 | + modelAndView.addObject("result", "success"); | |
| 194 | + modelAndView.addObject("message", "등록이 완료되었습니다."); | |
| 195 | + | |
| 196 | + }else { | |
| 197 | + | |
| 198 | + modelAndView.addObject("result", "insertFail"); | |
| 199 | + modelAndView.addObject("message", "선결제 정보 등록 중 오류가 발생하였습니다."); | |
| 200 | + | |
| 201 | + return modelAndView; | |
| 202 | + } | |
| 203 | + | |
| 204 | + }else { | |
| 205 | + | |
| 206 | + modelAndView.addObject("result", "mberFail"); | |
| 207 | + modelAndView.addObject("message", mberId + "의 회원정보를 찾을 수 없습니다."); | |
| 208 | + | |
| 209 | + return modelAndView; | |
| 210 | + } | |
| 211 | + | |
| 212 | + | |
| 213 | + } catch (Exception e) { | |
| 214 | + | |
| 215 | + System.out.println("++++++++++++++ insertPrePayRegistAjax Controller Error !!! " + e); | |
| 216 | + modelAndView.addObject("result", "Error"); | |
| 217 | + modelAndView.addObject("message", "등록 중 오류가 발생하였습니다."); | |
| 218 | + | |
| 219 | + return modelAndView; | |
| 220 | + } | |
| 221 | + | |
| 222 | + return modelAndView; | |
| 223 | + } | |
| 224 | + | |
| 225 | + | |
| 226 | + /** | |
| 227 | + * 선결제 삭제 처리 | |
| 228 | + * @param searchVO | |
| 229 | + * @param model | |
| 230 | + * @return "/uss/ion/pay/PrePayDelete.do" | |
| 231 | + * @throws Exception | |
| 232 | + */ | |
| 233 | + @RequestMapping(value = {"/uss/ion/pay/PrePayDelete.do"}) | |
| 234 | + public String deleteCash( | |
| 235 | + @RequestParam("chkEach") String[] chkEach, | |
| 236 | + @ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 237 | + HttpServletRequest request , RedirectAttributes redirectAttributes, | |
| 238 | + Model model) throws Exception { | |
| 239 | + try { | |
| 240 | + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 241 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 242 | + | |
| 243 | + if(userId == "") { | |
| 244 | + | |
| 245 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.user.login")); | |
| 246 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do"); | |
| 247 | + return redirectUrlMaker.getRedirectUrl(); | |
| 248 | + | |
| 249 | + } | |
| 250 | + | |
| 251 | + for(String id: chkEach) { | |
| 252 | + mjonPrePayVO.setPrePayId(id); | |
| 253 | + mjonPrePayService.deletePrePayInfo(mjonPrePayVO); | |
| 254 | + } | |
| 255 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 256 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do"); | |
| 257 | + return redirectUrlMaker.getRedirectUrl(); | |
| 258 | + }catch(Exception e) { | |
| 259 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); | |
| 260 | + } | |
| 261 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 262 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do"); | |
| 263 | + return redirectUrlMaker.getRedirectUrl(); | |
| 264 | + } | |
| 265 | + | |
| 266 | + /** | |
| 267 | + * 선결제 수정화면 | |
| 268 | + * @param searchVO | |
| 269 | + * @param model | |
| 270 | + * @return "/uss/ion/pay/PrePayModify.do" | |
| 271 | + * @throws Exception | |
| 272 | + */ | |
| 273 | + @RequestMapping(value= {"/uss/ion/pay/PrePayModify.do"}) | |
| 274 | + public String PrePayModify(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 275 | + HttpServletRequest request, RedirectAttributes redirectAttributes, | |
| 276 | + ModelMap model) throws Exception{ | |
| 277 | + | |
| 278 | + // 미인증 사용자에 대한 보안처리 | |
| 279 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 280 | + if(!isAuthenticated) { | |
| 281 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 282 | + return "uat/uia/EgovLoginUsr"; | |
| 283 | + } | |
| 284 | + | |
| 285 | + try { | |
| 286 | + | |
| 287 | + MjonPrePayVO resultVO = mjonPrePayService.selectPrePayInfo(mjonPrePayVO); | |
| 288 | + | |
| 289 | + model.addAttribute("resultVO", resultVO); | |
| 290 | + | |
| 291 | + } catch (Exception e) { | |
| 292 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg")); | |
| 293 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do"); | |
| 294 | + return redirectUrlMaker.getRedirectUrl(); | |
| 295 | + } | |
| 296 | + | |
| 297 | + return "/uss/ion/pay/prePay/PrePayModify"; | |
| 298 | + } | |
| 299 | + | |
| 300 | + | |
| 301 | + /** | |
| 302 | + * 선결제 수정화면 | |
| 303 | + * @param searchVO | |
| 304 | + * @param model | |
| 305 | + * @return "/uss/ion/pay/updatePrePayModify.do" | |
| 306 | + * @throws Exception | |
| 307 | + */ | |
| 308 | + @RequestMapping(value= {"/uss/ion/pay/updatePrePayModify.do"}) | |
| 309 | + public String updatePrePayModify(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 310 | + HttpServletRequest request, RedirectAttributes redirectAttributes, | |
| 311 | + ModelMap model) throws Exception{ | |
| 312 | + | |
| 313 | + // 미인증 사용자에 대한 보안처리 | |
| 314 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 315 | + if(!isAuthenticated) { | |
| 316 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 317 | + return "uat/uia/EgovLoginUsr"; | |
| 318 | + } | |
| 319 | + | |
| 320 | + try { | |
| 321 | + | |
| 322 | + String mberId = mjonPrePayVO.getMberId(); | |
| 323 | + | |
| 324 | + int mberCnt = mjonPrePayService.selectBLineMberCnt(mberId); | |
| 325 | + | |
| 326 | + if(mberCnt > 0) { | |
| 327 | + | |
| 328 | + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; | |
| 329 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 330 | + | |
| 331 | + mjonPrePayVO.setLastUpdusrId(userId); | |
| 332 | + mjonPrePayVO.setAmt(mjonPrePayVO.getAmt().replace(",", "")); | |
| 333 | + int resultCnt = mjonPrePayService.updatePrePayModify(mjonPrePayVO); | |
| 334 | + | |
| 335 | + }else { | |
| 336 | + | |
| 337 | + redirectAttributes.addFlashAttribute("message", mberId + "의 회원정보를 찾을 수 없습니다."); | |
| 338 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do"); | |
| 339 | + return redirectUrlMaker.getRedirectUrl(); | |
| 340 | + | |
| 341 | + } | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + } catch (Exception e) { | |
| 346 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg")); | |
| 347 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayList.do"); | |
| 348 | + return redirectUrlMaker.getRedirectUrl(); | |
| 349 | + } | |
| 350 | + | |
| 351 | + return "redirect:/uss/ion/pay/PrePayList.do"; | |
| 352 | + } | |
| 353 | + | |
| 354 | + | |
| 355 | + /** | |
| 356 | + * 결제 리스트 팝업 | |
| 357 | + * @param searchVO | |
| 358 | + * @param model | |
| 359 | + * @return "/uss/ion/pay/PrePayPopupListAjax.do" | |
| 360 | + * @throws Exception | |
| 361 | + */ | |
| 362 | + @RequestMapping(value= {"/uss/ion/pay/PrePayPopupListAjax.do"}) | |
| 363 | + public String selectPrePayPopupListAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 364 | + HttpServletRequest request, | |
| 365 | + ModelMap model) throws Exception{ | |
| 366 | + | |
| 367 | + String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ; | |
| 368 | + | |
| 369 | + // 미인증 사용자에 대한 보안처리 | |
| 370 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 371 | + if(!isAuthenticated) { | |
| 372 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 373 | + return "uat/uia/EgovLoginUsr"; | |
| 374 | + } | |
| 375 | + | |
| 376 | + /** pageing */ | |
| 377 | + PaginationInfo paginationInfo = new PaginationInfo(); | |
| 378 | + paginationInfo.setCurrentPageNo(mjonPrePayVO.getPageIndex()); | |
| 379 | + paginationInfo.setRecordCountPerPage(mjonPrePayVO.getPageUnit()); | |
| 380 | + paginationInfo.setPageSize(mjonPrePayVO.getPageSize()); | |
| 381 | + | |
| 382 | + mjonPrePayVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 383 | + mjonPrePayVO.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 384 | + mjonPrePayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 385 | + | |
| 386 | + if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 387 | + mjonPrePayVO.setSearchSortCnd("prePayDate"); | |
| 388 | + mjonPrePayVO.setSearchSortOrd("desc"); | |
| 389 | + } | |
| 390 | + | |
| 391 | + //특정 회원 정보리스트만 조회 되도록 검색값 셋팅 | |
| 392 | + String mberId = mjonPrePayVO.getMberId(); | |
| 393 | + List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO); | |
| 394 | + | |
| 395 | + model.addAttribute("resultList", resultList); | |
| 396 | + model.addAttribute("totSumPrice", resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotSum() : 0); | |
| 397 | + paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonPrePayVO)resultList.get(0)).getTotCnt() : 0); | |
| 398 | + model.addAttribute("paginationInfo", paginationInfo); | |
| 399 | + | |
| 400 | + model.addAttribute("mberId", mberId); | |
| 401 | + | |
| 402 | + return "/uss/ion/pay/prePay/popup/PrePayPopupList"; | |
| 403 | + } | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + /** | |
| 408 | + * 선결제 등록화면 | |
| 409 | + * @param searchVO | |
| 410 | + * @param model | |
| 411 | + * @return "/uss/ion/pay/PrePayPopupRegistAjax.do" | |
| 412 | + * @throws Exception | |
| 413 | + */ | |
| 414 | + @RequestMapping(value= {"/uss/ion/pay/PrePayPopupRegistAjax.do"}) | |
| 415 | + public String selectPrePayPopupRegistAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 416 | + HttpServletRequest request, | |
| 417 | + ModelMap model) throws Exception{ | |
| 418 | + | |
| 419 | + // 미인증 사용자에 대한 보안처리 | |
| 420 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 421 | + if(!isAuthenticated) { | |
| 422 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 423 | + return "uat/uia/EgovLoginUsr"; | |
| 424 | + } | |
| 425 | + | |
| 426 | + System.out.println(mjonPrePayVO.getMberId()); | |
| 427 | + String mberId = mjonPrePayVO.getMberId(); | |
| 428 | + | |
| 429 | + model.addAttribute("mberId", mberId); | |
| 430 | + | |
| 431 | + return "/uss/ion/pay/prePay/popup/PrePayPopupRegist"; | |
| 432 | + } | |
| 433 | + | |
| 434 | + /** | |
| 435 | + * 선결제 수정화면 | |
| 436 | + * @param searchVO | |
| 437 | + * @param model | |
| 438 | + * @return "/uss/ion/pay/PrePayModify.do" | |
| 439 | + * @throws Exception | |
| 440 | + */ | |
| 441 | + @RequestMapping(value= {"/uss/ion/pay/PrePayPopupModifyAjax.do"}) | |
| 442 | + public String selectPrePayPopupModifyAjax(@ModelAttribute("searchVO") MjonPrePayVO mjonPrePayVO, | |
| 443 | + HttpServletRequest request, RedirectAttributes redirectAttributes, | |
| 444 | + ModelMap model) throws Exception{ | |
| 445 | + | |
| 446 | + // 미인증 사용자에 대한 보안처리 | |
| 447 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 448 | + if(!isAuthenticated) { | |
| 449 | + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 450 | + return "uat/uia/EgovLoginUsr"; | |
| 451 | + } | |
| 452 | + | |
| 453 | + try { | |
| 454 | + | |
| 455 | + MjonPrePayVO resultVO = mjonPrePayService.selectPrePayInfo(mjonPrePayVO); | |
| 456 | + | |
| 457 | + model.addAttribute("resultVO", resultVO); | |
| 458 | + | |
| 459 | + } catch (Exception e) { | |
| 460 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.msg")); | |
| 461 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pay/PrePayPopupListAjax.do"); | |
| 462 | + return redirectUrlMaker.getRedirectUrl(); | |
| 463 | + } | |
| 464 | + | |
| 465 | + return "/uss/ion/pay/prePay/popup/PrePayPopupModify"; | |
| 466 | + } | |
| 467 | + | |
| 468 | + | |
| 469 | + //관리자 결제 엑셀 다운로드 | |
| 470 | + @RequestMapping(value= {"/uss/ion/pay/SendPrePayExcelDownload.do"}) | |
| 471 | + public void SendPrePayExcelDownload( MjonPrePayVO mjonPrePayVO, | |
| 472 | + HttpServletRequest request, | |
| 473 | + HttpServletResponse response , | |
| 474 | + ModelMap model) throws Exception { | |
| 475 | + | |
| 476 | + mjonPrePayVO.setRecordCountPerPage(5000); | |
| 477 | + mjonPrePayVO.setFirstIndex(0); | |
| 478 | + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 479 | + | |
| 480 | + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. | |
| 481 | + SXSSFWorkbook wb = new SXSSFWorkbook(100); | |
| 482 | + CellStyle style = wb.createCellStyle(); | |
| 483 | + style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 | |
| 484 | + style.setBorderLeft(CellStyle.BORDER_THIN); | |
| 485 | + style.setBorderRight(CellStyle.BORDER_THIN); | |
| 486 | + style.setBorderTop(CellStyle.BORDER_THIN); | |
| 487 | + Font font = wb.createFont(); | |
| 488 | + font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold | |
| 489 | + | |
| 490 | + Cell cell = null; | |
| 491 | + Row row = null; | |
| 492 | + | |
| 493 | + String fileName ="B선 회원 선결제내역"; | |
| 494 | + | |
| 495 | + String sheetTitle = ""; | |
| 496 | + try{ | |
| 497 | + if("".equals(mjonPrePayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 498 | + mjonPrePayVO.setSearchSortCnd("prePayDate"); | |
| 499 | + mjonPrePayVO.setSearchSortOrd("desc"); | |
| 500 | + } | |
| 501 | + | |
| 502 | + List<MjonPrePayVO> resultList = mjonPrePayService.selectPrePayList(mjonPrePayVO); | |
| 503 | + | |
| 504 | + { //화면 리스트 | |
| 505 | + sheetTitle = "선결제내역" ; //제목 | |
| 506 | + Sheet sheet = wb.createSheet(sheetTitle); | |
| 507 | + sheet.setColumnWidth(0, 2500); | |
| 508 | + sheet.setColumnWidth(1, 3500); | |
| 509 | + sheet.setColumnWidth(2, 3500); | |
| 510 | + sheet.setColumnWidth(3, 4000); | |
| 511 | + sheet.setColumnWidth(4, 3500); | |
| 512 | + sheet.setColumnWidth(5, 5000); | |
| 513 | + row = sheet.createRow(0); | |
| 514 | + for(int i=0 ; i < sendPrePayExcelValue.length ; i++) { | |
| 515 | + cell = row.createCell(i); | |
| 516 | + cell.setCellStyle(style); | |
| 517 | + cell.setCellValue(sendPrePayExcelValue[i][1]); | |
| 518 | + } | |
| 519 | + | |
| 520 | + for(int i=0; i < resultList.size(); i++){ | |
| 521 | + row = sheet.createRow(i+1); | |
| 522 | + for(int j=0 ; j < sendPrePayExcelValue.length ; j++) { | |
| 523 | + // 번호, 회원 아이디, 전용 전송사, 선결제 일자, 결제 금액, 등록일자 | |
| 524 | + cell = row.createCell(j); | |
| 525 | + cell.setCellStyle(style); | |
| 526 | + if(j==0) cell.setCellValue(i+1); //번호 | |
| 527 | + if(j==1) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getMberId()); //회원 아이디 | |
| 528 | + if(j==2) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getAgentCodeDc()); //전용 전송사 | |
| 529 | + if(j==3) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getPrePayDate() + " " + ((MjonPrePayVO)resultList.get(i)).getPrePayTime()); //선결제 일자 | |
| 530 | + if(j==4) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getAmt()); //결제금액 | |
| 531 | + if(j==5) cell.setCellValue(((MjonPrePayVO)resultList.get(i)).getLastUpdtPnttm()); //등록일자/수정일자 | |
| 532 | + } | |
| 533 | + } | |
| 534 | + | |
| 535 | + } | |
| 536 | + response.setHeader("Set-Cookie", "fileDownload=true; path=/"); | |
| 537 | + SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); | |
| 538 | + Date currentTime = new Date (); | |
| 539 | + String mTime = mSimpleDateFormat.format ( currentTime ); | |
| 540 | + fileName = fileName+"("+mTime+")"; | |
| 541 | + | |
| 542 | + response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); | |
| 543 | + wb.write(response.getOutputStream()); | |
| 544 | + | |
| 545 | + }catch(Exception e) { | |
| 546 | + response.setHeader("Set-Cookie", "fileDownload=false; path=/"); | |
| 547 | + response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); | |
| 548 | + response.setHeader("Content-Type","text/html; charset=utf-8"); | |
| 549 | + OutputStream out = null; | |
| 550 | + try { | |
| 551 | + out = response.getOutputStream(); | |
| 552 | + byte[] data = new String("fail..").getBytes(); | |
| 553 | + out.write(data, 0, data.length); | |
| 554 | + } catch(Exception ignore) { | |
| 555 | + ignore.printStackTrace(); | |
| 556 | + } finally { | |
| 557 | + if(out != null) try { out.close(); } catch(Exception ignore) {} | |
| 558 | + } | |
| 559 | + }finally { | |
| 560 | + // 디스크 적었던 임시파일을 제거합니다. | |
| 561 | + wb.dispose(); | |
| 562 | + try { wb.close(); } catch(Exception ignore) {} | |
| 563 | + } | |
| 564 | + } | |
| 565 | + | |
| 566 | + | |
| 567 | +} |
--- src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-msg.xml
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-msg.xml
... | ... | @@ -23,4 +23,5 @@ |
| 23 | 23 |
<sqlMap resource="egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml"/> <!-- 알림톡메세지 --> |
| 24 | 24 |
<sqlMap resource="egovframework/sqlmap/let/kakao/MjonKakaoFTData_SQL_mysql.xml"/> <!-- 친구톡메세지 --> |
| 25 | 25 |
|
| 26 |
+ <sqlMap resource="egovframework/sqlmap/let/pay/MjonPrePay_SQL_mysql.xml"/><!-- B선 회원 선결제정보 --> |
|
| 26 | 27 |
</sqlMapConfig> |
+++ src/main/resources/egovframework/sqlmap/let/pay/MjonPrePay_SQL_mysql.xml
... | ... | @@ -0,0 +1,153 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?><!-- | |
| 2 | + 수정일 수정자 수정내용 | |
| 3 | + ========= ======= ================================================= | |
| 4 | + 2021.03.01 신명섭 | |
| 5 | +--> | |
| 6 | +<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> | |
| 7 | +<sqlMap namespace="Pay"> | |
| 8 | + <typeAlias alias="mjonPrePayVO" type="itn.let.mjo.pay.service.MjonPrePayVO"/> | |
| 9 | + | |
| 10 | + <select id="mjonPrePayDAO.selectBLineMberCnt" parameterClass="String" resultClass="Integer"> | |
| 11 | + | |
| 12 | + <![CDATA[ | |
| 13 | + SELECT COUNT(MBER_ID) | |
| 14 | + FROM lettngnrlmber | |
| 15 | + WHERE MBER_ID = #mberId# | |
| 16 | + AND BLINE_CODE <> 'N' | |
| 17 | + ]]> | |
| 18 | + | |
| 19 | + </select> | |
| 20 | + | |
| 21 | + <insert id="mjonPrePayDAO.insertPrePayInfo" parameterClass="mjonPrePayVO"> | |
| 22 | + | |
| 23 | + INSERT | |
| 24 | + INTO MJ_PREPAY_INFO | |
| 25 | + ( | |
| 26 | + MBER_ID, | |
| 27 | + AGENT_CODE, | |
| 28 | + PREPAY_DATE, | |
| 29 | + PREPAY_TIME, | |
| 30 | + AMT, | |
| 31 | + FRST_REGISTER_ID, | |
| 32 | + FRST_REGIST_PNTTM, | |
| 33 | + LAST_UPDUSR_ID, | |
| 34 | + LAST_UPDT_PNTTM | |
| 35 | + ) | |
| 36 | + VALUES | |
| 37 | + ( #mberId# | |
| 38 | + , #agentCode# | |
| 39 | + , #prePayDate# | |
| 40 | + , #prePayTime# | |
| 41 | + , #amt# | |
| 42 | + , #frstRegisterId# | |
| 43 | + , NOW() | |
| 44 | + , #lastUpdusrId# | |
| 45 | + , NOW() | |
| 46 | + ) | |
| 47 | + | |
| 48 | + </insert> | |
| 49 | + | |
| 50 | + <select id="mjonPrePayDAO.selectPrePayList" parameterClass="mjonPrePayVO" resultClass="mjonPrePayVO"> | |
| 51 | + | |
| 52 | + SELECT COUNT(PRE.PREPAY_ID) OVER() AS totCnt, | |
| 53 | + SUM(PRE.AMT) OVER() AS totSum, | |
| 54 | + PRE.PREPAY_ID AS prePayId, | |
| 55 | + PRE.MBER_ID AS mberId, | |
| 56 | + PRE.AGENT_CODE AS agentCode, | |
| 57 | + PRE.PREPAY_DATE AS prePayDate, | |
| 58 | + PRE.PREPAY_TIME AS prePayTime, | |
| 59 | + PRE.AMT AS amt, | |
| 60 | + DATE_FORMAT(PRE.FRST_REGIST_PNTTM, '%Y-%m-%d %T' ) AS frstRegistPnttm, | |
| 61 | + PRE.FRST_REGISTER_ID AS frstRegisterId, | |
| 62 | + PRE.LAST_UPDUSR_ID AS lastUpdusr_id, | |
| 63 | + DATE_FORMAT(PRE.LAST_UPDT_PNTTM, '%Y-%m-%d %T' ) AS lastUpdtPnttm, | |
| 64 | + LCD.CODE_NM AS agentCodeNm, | |
| 65 | + LCD.CODE_DC AS agentCodeDc | |
| 66 | + FROM MJ_PREPAY_INFO PRE | |
| 67 | + INNER JOIN LETTCCMMNDETAILCODE LCD | |
| 68 | + ON PRE.AGENT_CODE = LCD.CODE | |
| 69 | + INNER JOIN LETTCCMMNCODE LCC | |
| 70 | + ON LCD.CODE_ID = LCC.CODE_ID | |
| 71 | + AND LCC.CODE_ID = 'ITN019' | |
| 72 | + WHERE 1=1 | |
| 73 | + | |
| 74 | + <isNotEmpty property="searchKeyword"> | |
| 75 | + AND PRE.MBER_ID LIKE CONCAT('%', #searchKeyword#, '%') | |
| 76 | + </isNotEmpty> | |
| 77 | + | |
| 78 | + <isNotEmpty prepend="AND" property="searchCondition"> | |
| 79 | + PRE.AGENT_CODE = #searchCondition# | |
| 80 | + </isNotEmpty> | |
| 81 | + | |
| 82 | + <isNotEmpty prepend="AND" property="searchStartDate"> | |
| 83 | + <![CDATA[ | |
| 84 | + DATE_FORMAT(PRE.PREPAY_DATE, '%Y-%m-%d') >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d') | |
| 85 | + ]]> | |
| 86 | + </isNotEmpty> | |
| 87 | + <isNotEmpty prepend="AND" property="searchEndDate"> | |
| 88 | + <![CDATA[ | |
| 89 | + DATE_FORMAT(PRE.PREPAY_DATE, '%Y-%m-%d') <= DATE_FORMAT(#searchEndDate#, '%Y-%m-%d') | |
| 90 | + ]]> | |
| 91 | + </isNotEmpty> | |
| 92 | + | |
| 93 | + <isNotEmpty prepend="AND" property="mberId"> | |
| 94 | + PRE.MBER_ID = #mberId# | |
| 95 | + </isNotEmpty> | |
| 96 | + | |
| 97 | + ORDER BY 1=1 | |
| 98 | + <isNotEmpty property="searchSortCnd"> | |
| 99 | + ,$searchSortCnd$ | |
| 100 | + </isNotEmpty> | |
| 101 | + <isNotEmpty property="searchSortOrd"> | |
| 102 | + $searchSortOrd$ | |
| 103 | + </isNotEmpty> | |
| 104 | + <isNotEmpty property="searchSortCnd"> | |
| 105 | + <isEqual property="searchSortCnd" compareValue="prePayDate" > | |
| 106 | + , prePayTime $searchSortOrd$ | |
| 107 | + </isEqual> | |
| 108 | + </isNotEmpty> | |
| 109 | + | |
| 110 | + LIMIT #recordCountPerPage# OFFSET #firstIndex# | |
| 111 | + | |
| 112 | + </select> | |
| 113 | + | |
| 114 | + | |
| 115 | + <delete id="mjonPrePayDAO.deletePrePayInfo" parameterClass="mjonPrePayVO"> | |
| 116 | + | |
| 117 | + DELETE FROM MJ_PREPAY_INFO WHERE PREPAY_ID = #prePayId# | |
| 118 | + | |
| 119 | + </delete> | |
| 120 | + | |
| 121 | + <select id="mjonPrePayDAO.selectPrePayInfo" parameterClass="mjonPrePayVO" resultClass="mjonPrePayVO"> | |
| 122 | + | |
| 123 | + SELECT PREPAY_ID AS prePayId, | |
| 124 | + MBER_ID AS mberId, | |
| 125 | + AGENT_CODE AS agentCode, | |
| 126 | + PREPAY_DATE AS prePayDate, | |
| 127 | + PREPAY_TIME AS prePayTime, | |
| 128 | + AMT AS amt, | |
| 129 | + FRST_REGISTER_ID AS frstRegisterId, | |
| 130 | + DATE_FORMAT(FRST_REGIST_PNTTM, '%Y-%m-%d %T' ) AS frstRegistPnttm, | |
| 131 | + LAST_UPDUSR_ID AS lastUpdusrId, | |
| 132 | + DATE_FORMAT(LAST_UPDT_PNTTM, '%Y-%m-%d %T' ) AS lastUpdtPnttm | |
| 133 | + FROM MJ_PREPAY_INFO | |
| 134 | + WHERE PREPAY_ID = #prePayId# | |
| 135 | + | |
| 136 | + </select> | |
| 137 | + | |
| 138 | + <update id="mjonPrePayDAO.updatePrePayModify" parameterClass="mjonPrePayVO"> | |
| 139 | + | |
| 140 | + UPDATE MJ_PREPAY_INFO | |
| 141 | + SET MBER_ID = #mberId#, | |
| 142 | + AGENT_CODE = #agentCode#, | |
| 143 | + PREPAY_DATE = #prePayDate#, | |
| 144 | + PREPAY_TIME = #prePayTime#, | |
| 145 | + AMT = #amt#, | |
| 146 | + LAST_UPDUSR_ID = #lastUpdusrId#, | |
| 147 | + LAST_UPDT_PNTTM = NOW() | |
| 148 | + WHERE PREPAY_ID = #prePayId# | |
| 149 | + | |
| 150 | + </update> | |
| 151 | + | |
| 152 | + | |
| 153 | +</sqlMap>(No newline at end of file) |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
... | ... | @@ -760,7 +760,8 @@ |
| 760 | 760 |
A.HOTLINE_AGENT_CODE AS hotlineAgentCode, |
| 761 | 761 |
A.AT_SMISHING_YN atSmishingYn, |
| 762 | 762 |
A.SPAM_YN spamYn, |
| 763 |
- A.USER_POINT AS userPoint |
|
| 763 |
+ A.USER_POINT AS userPoint, |
|
| 764 |
+ A.BLINE_CODE AS blineCode |
|
| 764 | 765 |
FROM LETTNGNRLMBER A |
| 765 | 766 |
LEFT JOIN MJ_CANDIDATE_INFO MCI |
| 766 | 767 |
ON A.MBER_ID = MCI.MBER_ID |
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
... | ... | @@ -1926,6 +1926,16 @@ |
| 1926 | 1926 |
document.modiForm.submit(); |
| 1927 | 1927 |
} |
| 1928 | 1928 |
|
| 1929 |
+//B선회원 선결제 팝업 |
|
| 1930 |
+function fnUserPrePayDataListPopup(mberId){
|
|
| 1931 |
+ |
|
| 1932 |
+ document.modiForm.mberId.value = mberId; |
|
| 1933 |
+ 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');
|
|
| 1934 |
+ document.modiForm.action = "<c:url value='/uss/ion/pay/PrePayPopupListAjax.do'/>"; |
|
| 1935 |
+ document.modiForm.target = "popupSelectPrePayDataList"; |
|
| 1936 |
+ document.modiForm.submit(); |
|
| 1937 |
+} |
|
| 1938 |
+ |
|
| 1929 | 1939 |
// 이벤트 종료하기 |
| 1930 | 1940 |
function fnEventEnd(){
|
| 1931 | 1941 |
|
... | ... | @@ -3282,6 +3292,11 @@ |
| 3282 | 3292 |
<th> |
| 3283 | 3293 |
보유 캐시 잔액 |
| 3284 | 3294 |
<button type="button" onclick="fnUserCashDataListPopup('${mberManageVO.mberId}'); return false">조회</button>
|
| 3295 |
+ |
|
| 3296 |
+ <%-- B선 회원 선결제 버튼 처리 --%> |
|
| 3297 |
+ <c:if test="${mberManageVO.blineCode ne 'N'}">
|
|
| 3298 |
+ <button type="button" onclick="fnUserPrePayDataListPopup('${mberManageVO.mberId}'); return false">선결제</button>
|
|
| 3299 |
+ </c:if> |
|
| 3285 | 3300 |
</th> |
| 3286 | 3301 |
<td> |
| 3287 | 3302 |
<div class="button_box"> |
... | ... | @@ -3665,6 +3680,11 @@ |
| 3665 | 3680 |
<th> |
| 3666 | 3681 |
보유 캐시 잔액 |
| 3667 | 3682 |
<button type="button" onclick="fnUserCashDataListPopup('${mberManageVO.mberId}'); return false">조회</button>
|
| 3683 |
+ |
|
| 3684 |
+ <%-- B선 회원 선결제 버튼 처리 --%> |
|
| 3685 |
+ <c:if test="${mberManageVO.blineCode ne 'N'}">
|
|
| 3686 |
+ <button type="button" onclick="fnUserPrePayDataListPopup('${mberManageVO.mberId}'); return false">선결제</button>
|
|
| 3687 |
+ </c:if> |
|
| 3668 | 3688 |
</th> |
| 3669 | 3689 |
<td> |
| 3670 | 3690 |
<div class="button_box"> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/PrePayList.jsp
... | ... | @@ -0,0 +1,266 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : PrePayList.jsp | |
| 3 | + Description : B선 회원 선결제 리스트 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2023.10.26 우영두 최초 생성 | |
| 9 | + | |
| 10 | + Copyright (C) 2009 by ITN All right reserved. | |
| 11 | +--%> | |
| 12 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 13 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 14 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 15 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 16 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 17 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 18 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 19 | +<% | |
| 20 | + response.setHeader("Cache-Control","no-store"); | |
| 21 | + response.setHeader("Pragma","no-cache"); | |
| 22 | + response.setDateHeader("Expires",0); | |
| 23 | + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); | |
| 24 | +%> | |
| 25 | +<!DOCTYPE html> | |
| 26 | +<html lang="ko"> | |
| 27 | +<head> | |
| 28 | +<title>선결제 리스트</title> | |
| 29 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 30 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 31 | +<script type="text/javaScript" language="javascript"> | |
| 32 | + | |
| 33 | +function linkPage(pageNo){ | |
| 34 | + var listForm = document.listForm ; | |
| 35 | + listForm.pageIndex.value = pageNo ; | |
| 36 | + listForm.submit(); | |
| 37 | +} | |
| 38 | + | |
| 39 | +/* 체크된 메인배너 목록 삭제 */ | |
| 40 | +function fn_delete(){ | |
| 41 | + if($("input[name=chkEach]:checked").length == 0){ | |
| 42 | + alert("삭제할 항목을 선택해 주세요."); | |
| 43 | + return; | |
| 44 | + } | |
| 45 | + | |
| 46 | + if (confirm("해당 정보를 삭제하시겠습니까?")){ | |
| 47 | + frm = document.listForm; | |
| 48 | + frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>"; | |
| 49 | + frm.submit(); | |
| 50 | + } | |
| 51 | +} | |
| 52 | + | |
| 53 | +/* 수정 화면*/ | |
| 54 | +function fn_modify(prePayId){ | |
| 55 | + var frm = document.modiForm ; | |
| 56 | + frm.prePayId.value = prePayId ; | |
| 57 | + | |
| 58 | + frm.action = '/uss/ion/pay/PrePayModify.do'; | |
| 59 | + frm.submit(); | |
| 60 | +} | |
| 61 | + | |
| 62 | +function fnSelectMber(mberId) { | |
| 63 | + document.modiForm.mberId.value = mberId; | |
| 64 | + 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'); | |
| 65 | + document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>"; | |
| 66 | + document.modiForm.target = "popupSelectMber"; | |
| 67 | + document.modiForm.submit(); | |
| 68 | +} | |
| 69 | + | |
| 70 | +//체크박스 전체선택/해제 | |
| 71 | +$(document).on("click", "#chkAll", function(e) { | |
| 72 | + var isChecked = $(this).is(":checked"); | |
| 73 | + $("input[name=chkEach]:checkbox").prop("checked", isChecked); | |
| 74 | +}); | |
| 75 | + | |
| 76 | +//기간선택 select | |
| 77 | +function fnSetCalMonth(val) { | |
| 78 | + var form = document.listForm; | |
| 79 | + var today = new Date(); | |
| 80 | + | |
| 81 | + var year = today.getFullYear(); | |
| 82 | + var month = ("0"+(today.getMonth()+1)).slice(-2); | |
| 83 | + var date = ("0"+today.getDate()).slice(-2); | |
| 84 | + | |
| 85 | + var sDate = new Date(today.setMonth(today.getMonth() - val)); | |
| 86 | + | |
| 87 | + var sYear = sDate.getFullYear(); | |
| 88 | + var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2); | |
| 89 | + var sDate = ("0"+sDate.getDate()).slice(-2); | |
| 90 | + | |
| 91 | + form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate; | |
| 92 | + form.searchEndDate.value = year + "-" + month + "-" + date; | |
| 93 | + | |
| 94 | +} | |
| 95 | + | |
| 96 | +//엑셀 다운로드 | |
| 97 | +function sendMsgExcelDownload(){ | |
| 98 | + var frm = document.listForm; | |
| 99 | + frm.method = "post"; | |
| 100 | + frm.action = "<c:url value='/uss/ion/pay/SendPrePayExcelDownload.do'/>"; | |
| 101 | + frm.submit(); | |
| 102 | +} | |
| 103 | + | |
| 104 | +function fn_Regist(){ | |
| 105 | + | |
| 106 | + location.href="/uss/ion/pay/PrePayRegist.do"; | |
| 107 | + | |
| 108 | + | |
| 109 | +} | |
| 110 | + | |
| 111 | +</script> | |
| 112 | + | |
| 113 | +</head> | |
| 114 | +<body> | |
| 115 | + | |
| 116 | +<compress:html> | |
| 117 | + | |
| 118 | +<form name="listForm" action="<c:url value='/uss/ion/pay/PrePayList.do'/>" method="post"> | |
| 119 | + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> | |
| 120 | + <input type="hidden" name="selectedId" /> | |
| 121 | + <input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" /> | |
| 122 | + <input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" /> | |
| 123 | + | |
| 124 | + <div class="contWrap"> | |
| 125 | + <div class="pageTitle"> | |
| 126 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 127 | + <h2 class="titType1 c_222222 fwBold">선결제 현황</h2> | |
| 128 | + <p class="tType6 c_999999">B선 사용자 선결제 현황을 파악할 수 있습니다.</p> | |
| 129 | + </div> | |
| 130 | + | |
| 131 | + <div class="pageCont"> | |
| 132 | + <div class="listSerch"> | |
| 133 | + <div class="calendar_wrap"> | |
| 134 | + <select name="setCalMonth" onchange="fnSetCalMonth(this.value)"> | |
| 135 | + <option value="0">전체</option> | |
| 136 | + <option value="1">1개월</option> | |
| 137 | + <option value="3">3개월</option> | |
| 138 | + <option value="6">6개월</option> | |
| 139 | + </select> | |
| 140 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 141 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);"> | |
| 142 | + <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}'/>"> | |
| 143 | + <input type="button" class="calBtn"> | |
| 144 | + </div> | |
| 145 | + <span class="line">~</span> | |
| 146 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);"> | |
| 147 | + <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}'/>"> | |
| 148 | + <input type="button" class="calBtn"> | |
| 149 | + </div> | |
| 150 | + </div> | |
| 151 | + <select id="searchCondition" name="searchCondition" class="select" title="전송사"> | |
| 152 | + <option value="">전체</option> | |
| 153 | + <option value="08" <c:if test="${searchVO.searchCondition == '08'}">selected="selected"</c:if>>제이제이 B선 01 라인 </option> | |
| 154 | + <option value="09" <c:if test="${searchVO.searchCondition == '09'}">selected="selected"</c:if>>제이제이 B선 02 라인</option> | |
| 155 | + </select> | |
| 156 | + <input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100"/> | |
| 157 | + <input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;"> | |
| 158 | + <input type="button" class="btnType1" onclick="fn_searchReset(); return false;" value="초기화"> | |
| 159 | + </div> | |
| 160 | + <div class="listTop"> | |
| 161 | + <p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건(총 <fmt:formatNumber value="${totSumPrice}" pattern="#,###" /> 원)</p> | |
| 162 | + <div class="rightWrap"> | |
| 163 | + <!-- <input type="button" class="printBtn"> --> | |
| 164 | + <input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();" style="cursor: pointer;" /> | |
| 165 | + <select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1); return false;"> | |
| 166 | + <option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option> | |
| 167 | + <option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option> | |
| 168 | + <option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option> | |
| 169 | + </select> | |
| 170 | + </div> | |
| 171 | + </div> | |
| 172 | + <div class="tableWrap"> | |
| 173 | + <table class="tbType1"> | |
| 174 | + <colgroup> | |
| 175 | + <col style="width: 10%"> | |
| 176 | + <col style="width: 10%"> | |
| 177 | + <col style="width: 10%"> | |
| 178 | + <col style="width: 20%"> | |
| 179 | + <col style="width: 15%"> | |
| 180 | + <col style="width: 20%"> | |
| 181 | + <col style="width: 15%"> | |
| 182 | + </colgroup> | |
| 183 | + <thead> | |
| 184 | + <tr> | |
| 185 | + <!-- <th><input type="checkbox" name="checkAll" id="checkAll" class="check2" value="1" onClick="fnCheckAll();"></th> --> | |
| 186 | + <th> | |
| 187 | + <input type="checkbox" id="chkAll"> | |
| 188 | + </th> | |
| 189 | + <th>번호<input type="button" class="sort sortBtn" id="sort_prePayId"></th> | |
| 190 | + <th>아이디<input type="button" class="sort sortBtn" id="sort_mberId"></th> | |
| 191 | + <th>전송사<input type="button" class="sort sortBtn" id="sort_agentCode"></th> | |
| 192 | + <th>선결제일시<input type="button" class="sort sortBtn" id="sort_prePayDate"></th> | |
| 193 | + <th>결제금액<input type="button" class="sort sortBtn" id="sort_amt"></th> | |
| 194 | + <th>등록일자<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th> | |
| 195 | + | |
| 196 | + </tr> | |
| 197 | + </thead> | |
| 198 | + <tbody> | |
| 199 | + <c:forEach var="result" items="${resultList}" varStatus="status"> | |
| 200 | + <tr> | |
| 201 | + <td> | |
| 202 | + <input type="checkbox" name="chkEach" id="chkEach_${status.index}" value="${result.prePayId}"> | |
| 203 | + </td> | |
| 204 | + <td> | |
| 205 | + <c:if test="${searchVO.searchSortOrd eq 'desc' }"> | |
| 206 | + <c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/> | |
| 207 | + </c:if> | |
| 208 | + <c:if test="${searchVO.searchSortOrd eq 'asc' }"> | |
| 209 | + <c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/> | |
| 210 | + </c:if> | |
| 211 | + </td> | |
| 212 | + | |
| 213 | + <td> | |
| 214 | + <a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.mberId}"/>'); return false;"> | |
| 215 | + <c:out value="${result.mberId}"/> | |
| 216 | + </a> | |
| 217 | + </td> | |
| 218 | + <td> | |
| 219 | + <a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;"> | |
| 220 | + <c:out value="${result.agentCodeDc}"/> | |
| 221 | + </a> | |
| 222 | + </td> | |
| 223 | + <td> | |
| 224 | + <a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;"> | |
| 225 | + <c:out value="${result.prePayDate}"/> <c:out value="${result.prePayTime}"/> | |
| 226 | + </a> | |
| 227 | + </td> | |
| 228 | + <td> | |
| 229 | + <fmt:formatNumber value="${result.amt}" pattern="#,###" /> | |
| 230 | + </td> | |
| 231 | + <td> | |
| 232 | + <c:out value="${result.lastUpdtPnttm}"/> | |
| 233 | + </td> | |
| 234 | + </tr> | |
| 235 | + </c:forEach> | |
| 236 | + <c:if test="${empty resultList}"> | |
| 237 | + <tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr> | |
| 238 | + </c:if> | |
| 239 | + </tbody> | |
| 240 | + </table> | |
| 241 | + </div> | |
| 242 | + <div class="btnWrap"> | |
| 243 | + <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> | |
| 244 | + <input type="button" class="btnType1" value="등록" onclick="fn_Regist(); return false;"> | |
| 245 | + </div> | |
| 246 | + <!-- 페이지 네비게이션 시작 --> | |
| 247 | + <c:if test="${!empty resultList}"> | |
| 248 | + <div class="page"> | |
| 249 | + <ul class="inline"> | |
| 250 | + <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> | |
| 251 | + </ul> | |
| 252 | + </div> | |
| 253 | + </c:if> | |
| 254 | + <!-- //페이지 네비게이션 끝 --> | |
| 255 | + </div> | |
| 256 | + </div> | |
| 257 | +</form> | |
| 258 | +<form name="modiForm" id="modiForm" method="post"> | |
| 259 | + <input type="hidden" name="prePayId" /> | |
| 260 | + <input type="hidden" name="searchCondition" value="" /> | |
| 261 | + <input type="hidden" name="searchKeyword" value="" /> | |
| 262 | + <input type="hidden" name="pageUnit" value="${searchVO.pageUnit}" /> | |
| 263 | +</form> | |
| 264 | +</compress:html> | |
| 265 | +</body> | |
| 266 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/PrePayModify.jsp
... | ... | @@ -0,0 +1,201 @@ |
| 1 | +<% | |
| 2 | + /** | |
| 3 | + * @Class Name : PrePayModify.jsp | |
| 4 | + * @Description : B선 회원 선결제 상세 화면 | |
| 5 | + * @Modification Information | |
| 6 | + * @ | |
| 7 | + * @ 수정일 수정자 수정내용 | |
| 8 | + * @ ------- -------- --------------------------- | |
| 9 | + * @ 2009.02.01 박정규 최초 생성 | |
| 10 | + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 | |
| 11 | + * | |
| 12 | + * @author 공통서비스팀 | |
| 13 | + * @since 2009.02.01 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +%> | |
| 19 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 20 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 21 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 22 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 23 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 24 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 25 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 26 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 27 | +<!DOCTYPE html> | |
| 28 | +<html lang="ko"> | |
| 29 | +<head> | |
| 30 | +<title>팝업창관리 관리</title> | |
| 31 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 32 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 33 | +<script type="text/javaScript" language="javascript"> | |
| 34 | + | |
| 35 | +/* 수정 */ | |
| 36 | +function fn_modify(){ | |
| 37 | + | |
| 38 | + var frm = document.writeForm; | |
| 39 | + | |
| 40 | + if(frm.mberId.value == ''){ | |
| 41 | + | |
| 42 | + alert("아이디를 입력해 주세요."); | |
| 43 | + return false; | |
| 44 | + | |
| 45 | + } | |
| 46 | + | |
| 47 | + if(frm.prePayDate.value == ''){ | |
| 48 | + | |
| 49 | + alert("결제일자를 선택해 주세요."); | |
| 50 | + return false; | |
| 51 | + | |
| 52 | + } | |
| 53 | + | |
| 54 | + if(frm.prePayTime.value == ''){ | |
| 55 | + | |
| 56 | + alert("결제 시간을 입력해 주세요."); | |
| 57 | + return false; | |
| 58 | + | |
| 59 | + } | |
| 60 | + | |
| 61 | + if(frm.amt.value == ''){ | |
| 62 | + | |
| 63 | + alert("결제금액을 입력해 주세요."); | |
| 64 | + return false; | |
| 65 | + | |
| 66 | + } | |
| 67 | + | |
| 68 | + if(!confirm("수정하시겠습니까?")) { | |
| 69 | + return; | |
| 70 | + } | |
| 71 | + frm.action = "<c:url value='/uss/ion/pay/updatePrePayModify.do'/>"; | |
| 72 | + frm.submit(); | |
| 73 | +} | |
| 74 | + | |
| 75 | +/* 체크된 메인배너 목록 삭제 */ | |
| 76 | +function fn_delete(){ | |
| 77 | + | |
| 78 | + if (confirm("해당 정보를 삭제하시겠습니까?")){ | |
| 79 | + frm = document.delForm; | |
| 80 | + frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>"; | |
| 81 | + frm.submit(); | |
| 82 | + } | |
| 83 | +} | |
| 84 | + | |
| 85 | +function goList(){ | |
| 86 | + var writeForm = document.writeForm; | |
| 87 | + var actionUrl = "/uss/ion/pay/PrePayList.do"; | |
| 88 | + | |
| 89 | + writeForm.action = actionUrl; | |
| 90 | + writeForm.submit(); | |
| 91 | +} | |
| 92 | + | |
| 93 | +</script> | |
| 94 | + | |
| 95 | +<style> | |
| 96 | + .calBtn{ | |
| 97 | + border: none; | |
| 98 | + background-color: transparent !important; | |
| 99 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 100 | + background-repeat: no-repeat; | |
| 101 | + width: 25px; | |
| 102 | + height: 25px !important; | |
| 103 | + vertical-align: middle; | |
| 104 | + margin-left: -38px !important; | |
| 105 | + margin-top: -2px !important; | |
| 106 | + cursor: pointer; | |
| 107 | + } | |
| 108 | + .pageCont {width:100%;padding:50px 30px;box-sizing:border-box;} | |
| 109 | + .tableWrapTotal {margin:0 0 20px;} | |
| 110 | + .tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;} | |
| 111 | + .tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;} | |
| 112 | + .tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;} | |
| 113 | + .tableWrapTotal .tbType1 thead tr.content th {font-size:14px;} | |
| 114 | + .tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;} | |
| 115 | + .tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;} | |
| 116 | + .listSerch .select {height:42px;vertical-align:top;} | |
| 117 | + .pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;} | |
| 118 | + .pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;} | |
| 119 | + .layer_msg_wrap {position:relative;} | |
| 120 | + .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;} | |
| 121 | + .layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;} | |
| 122 | + .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);} | |
| 123 | + .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);} | |
| 124 | + .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;} | |
| 125 | + .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;} | |
| 126 | + .layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;} | |
| 127 | + @media screen and (max-width:916px){ | |
| 128 | + .pageCont .tableWrap table thead tr th {padding:15px 0;} | |
| 129 | + } | |
| 130 | +</style> | |
| 131 | + | |
| 132 | +</head> | |
| 133 | +<body> | |
| 134 | +<form name="writeForm" id="writeForm" method="post"> | |
| 135 | + <input type="hidden" id="prePayId" name="prePayId" value="<c:out value='${resultVO.prePayId}'/>"/> | |
| 136 | + <div class="contWrap"> | |
| 137 | + <div class="pageTitle"> | |
| 138 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 139 | + <h2 class="titType1 c_222222 fwBold">선결제 정보 수정</h2> | |
| 140 | + <p class="tType6 c_999999">선결제정보 수정 할 수 있습니다.</p> | |
| 141 | + </div> | |
| 142 | + <div class="pageCont"> | |
| 143 | + <table class="tbType2"> | |
| 144 | + <colgroup> | |
| 145 | + <col style="width: 20%"> | |
| 146 | + <col style="width: 80%"> | |
| 147 | + </colgroup> | |
| 148 | + <tbody> | |
| 149 | + <tr class="no_modi"> | |
| 150 | + <th><span class="reqArea">아이디</span></th> | |
| 151 | + <td colspan="3"> | |
| 152 | + <input type="text" id="mberId" name="mberId" value="<c:out value="${resultVO.mberId}"/>" title="아이디" style="width:120px;" maxlength="20" /> | |
| 153 | + </td> | |
| 154 | + </tr> | |
| 155 | + | |
| 156 | + <tr class="no_modi"> | |
| 157 | + <th><span class="reqArea">전송사</span></th> | |
| 158 | + <td colspan="3"> | |
| 159 | + <select id="agentCode" name="agentCode" > | |
| 160 | + <option value="08" <c:if test="${resultVO.agentCode == '08'}">selected</c:if> >JJ B선 01라인</option> | |
| 161 | + <option value="09" <c:if test="${resultVO.agentCode == '09'}">selected</c:if> >JJ B선 02라인</option> | |
| 162 | + </select> | |
| 163 | + </td> | |
| 164 | + </tr> | |
| 165 | + | |
| 166 | + <tr class="no_modi"> | |
| 167 | + <th><span class="reqArea">결제일시</span></th> | |
| 168 | + <td colspan="3"> | |
| 169 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 170 | + <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);"> | |
| 171 | + <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}'/>"> | |
| 172 | + <input type="button" class="calBtn"> | |
| 173 | + </a> | |
| 174 | + <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"/> | |
| 175 | + </td> | |
| 176 | + </tr> | |
| 177 | + | |
| 178 | + <tr class="no_modi"> | |
| 179 | + <th><span class="reqArea">결제금액</span></th> | |
| 180 | + <td colspan="3"> | |
| 181 | + <fmt:formatNumber value="${resultVO.amt}" pattern="#,###" var="cash"/> | |
| 182 | + <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)"/> 원 | |
| 183 | + </td> | |
| 184 | + </tr> | |
| 185 | + </tbody> | |
| 186 | + </table> | |
| 187 | + <div class="btnWrap"> | |
| 188 | + <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> | |
| 189 | + <input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;"> | |
| 190 | + <input type="button" class="btnType1" value="수 정" onclick="fn_modify(); return false;"> | |
| 191 | + | |
| 192 | + </div> | |
| 193 | + </div> | |
| 194 | + </div> | |
| 195 | +</form> | |
| 196 | +<form id="delForm" name="delForm" method="post"> | |
| 197 | + <input type="hidden" id="chkEach" name="chkEach" value="<c:out value='${resultVO.prePayId}'/>"/> | |
| 198 | +</form> | |
| 199 | + | |
| 200 | +</body> | |
| 201 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/PrePayRegist.jsp
... | ... | @@ -0,0 +1,265 @@ |
| 1 | +<% | |
| 2 | + /** | |
| 3 | + * @Class Name : PrePayRegist.jsp | |
| 4 | + * @Description : B선 회원 선결제 등록 화면 | |
| 5 | + * @Modification Information | |
| 6 | + * @ | |
| 7 | + * @ 수정일 수정자 수정내용 | |
| 8 | + * @ ------- -------- --------------------------- | |
| 9 | + * @ 2009.02.01 박정규 최초 생성 | |
| 10 | + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 | |
| 11 | + * | |
| 12 | + * @author 공통서비스팀 | |
| 13 | + * @since 2009.02.01 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +%> | |
| 19 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 20 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 21 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 22 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 23 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 24 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 25 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 26 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 27 | +<!DOCTYPE html> | |
| 28 | +<html lang="ko"> | |
| 29 | +<head> | |
| 30 | +<title>전송사 선결제 관리</title> | |
| 31 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 32 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 33 | +<script type="text/javaScript" language="javascript"> | |
| 34 | +$( document ).ready(function(){ | |
| 35 | + | |
| 36 | + $('#amtInputId').off('input').on('input',function(e){ | |
| 37 | + /* var value = $(this).val(); | |
| 38 | + var regExp = /^-?\d*.?\d{0,2}$/; | |
| 39 | + if(!regExp.test(value)){ | |
| 40 | + $(this).val(value.substring(0,value.length-1)); | |
| 41 | + } */ | |
| 42 | + | |
| 43 | + var value = $(this).val(); | |
| 44 | + var regExp =/^([-]?(\d*))(\.?\d{0,2})$/; | |
| 45 | + if(!regExp.test(value)){ | |
| 46 | + value = value.substr(0, value.length - 1); | |
| 47 | + if(value.lastIndexOf("-")>0){ //중간에 -가 있다면 replace | |
| 48 | + if(value.indexOf("-")==0){ //음수라면 replace 후 - 붙여준다. | |
| 49 | + value = "-"+value.replace(/[-]/gi,''); | |
| 50 | + }else{ | |
| 51 | + value = value.replace(/[-]/gi,''); | |
| 52 | + } | |
| 53 | + } | |
| 54 | +// alert("거짓 "+value) | |
| 55 | + }else{ | |
| 56 | +// alert("참 "+value) | |
| 57 | + } | |
| 58 | + $(this).val(value); | |
| 59 | + }); | |
| 60 | + | |
| 61 | +}); | |
| 62 | + | |
| 63 | + | |
| 64 | +function goList(){ | |
| 65 | + var writeForm = document.writeForm; | |
| 66 | + var actionUrl = "/uss/ion/pay/PrePayList.do"; | |
| 67 | + | |
| 68 | + writeForm.action = actionUrl; | |
| 69 | + writeForm.submit(); | |
| 70 | +} | |
| 71 | + | |
| 72 | +function fnPrePaySave(){ | |
| 73 | + | |
| 74 | + var form = document.writeForm; | |
| 75 | + | |
| 76 | + if(form.mberId.value == ''){ | |
| 77 | + | |
| 78 | + alert("아이디를 입력해 주세요."); | |
| 79 | + return false; | |
| 80 | + | |
| 81 | + } | |
| 82 | + | |
| 83 | + if(form.prePayDate.value == ''){ | |
| 84 | + | |
| 85 | + alert("결제일자를 선택해 주세요."); | |
| 86 | + return false; | |
| 87 | + | |
| 88 | + } | |
| 89 | + | |
| 90 | + if(form.prePayTime.value == ''){ | |
| 91 | + | |
| 92 | + alert("결제 시간을 입력해 주세요."); | |
| 93 | + return false; | |
| 94 | + | |
| 95 | + } | |
| 96 | + | |
| 97 | + if(form.amt.value == ''){ | |
| 98 | + | |
| 99 | + alert("결제금액을 입력해 주세요."); | |
| 100 | + return false; | |
| 101 | + | |
| 102 | + } | |
| 103 | + | |
| 104 | + | |
| 105 | + var data = new FormData(document.writeForm); | |
| 106 | + var url = "/uss/ion/pay/insertPrePayRegistAjax.do"; | |
| 107 | + | |
| 108 | + | |
| 109 | + $.ajax({ | |
| 110 | + type: "POST", | |
| 111 | + url: url, | |
| 112 | + data: data, | |
| 113 | + dataType:'json', | |
| 114 | + async: true, | |
| 115 | + processData: false, | |
| 116 | + contentType: false, | |
| 117 | + cache: false, | |
| 118 | + //timeout: 600000, | |
| 119 | + success: function (returnData, status) { | |
| 120 | + if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 | |
| 121 | + | |
| 122 | + var result = returnData.result; | |
| 123 | + var message = returnData.message; | |
| 124 | + | |
| 125 | + if(result == "success"){ | |
| 126 | + | |
| 127 | + alert(message); | |
| 128 | + goList(); | |
| 129 | + | |
| 130 | + }else{ | |
| 131 | + alert(returnData.message); | |
| 132 | + return false; | |
| 133 | + | |
| 134 | + } | |
| 135 | + } else if(status== 'fail'){ | |
| 136 | + alert("선결제 정보 등록 중 오류가 발생하였습니다."); | |
| 137 | + console.log("status : fail ~"); | |
| 138 | + } | |
| 139 | + }, | |
| 140 | + error: function (e) { | |
| 141 | + alert("선결제 정보 등록 중 오류가 발생하였습니다."); | |
| 142 | + console.log("ERROR : ", e); | |
| 143 | + }, | |
| 144 | + beforeSend : function(xmlHttpRequest) { | |
| 145 | + //로딩창 show | |
| 146 | + $('.loading_layer').addClass('active'); | |
| 147 | + }, | |
| 148 | + complete : function(xhr, textStatus) { | |
| 149 | + //로딩창 hide | |
| 150 | + $('.loading_layer').removeClass('active'); | |
| 151 | + } | |
| 152 | + }); | |
| 153 | + | |
| 154 | +} | |
| 155 | + | |
| 156 | +</script> | |
| 157 | + | |
| 158 | +<style> | |
| 159 | + .calBtn{ | |
| 160 | + border: none; | |
| 161 | + background-color: transparent !important; | |
| 162 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 163 | + background-repeat: no-repeat; | |
| 164 | + width: 25px; | |
| 165 | + height: 25px !important; | |
| 166 | + vertical-align: middle; | |
| 167 | + margin-left: -38px !important; | |
| 168 | + margin-top: -2px !important; | |
| 169 | + cursor: pointer; | |
| 170 | + } | |
| 171 | + .pageCont {width:100%;padding:50px 30px;box-sizing:border-box;} | |
| 172 | + .tableWrapTotal {margin:0 0 20px;} | |
| 173 | + .tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;} | |
| 174 | + .tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;} | |
| 175 | + .tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;} | |
| 176 | + .tableWrapTotal .tbType1 thead tr.content th {font-size:14px;} | |
| 177 | + .tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;} | |
| 178 | + .tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;} | |
| 179 | + .listSerch .select {height:42px;vertical-align:top;} | |
| 180 | + .pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;} | |
| 181 | + .pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;} | |
| 182 | + .layer_msg_wrap {position:relative;} | |
| 183 | + .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;} | |
| 184 | + .layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;} | |
| 185 | + .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);} | |
| 186 | + .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);} | |
| 187 | + .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;} | |
| 188 | + .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;} | |
| 189 | + .layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;} | |
| 190 | + @media screen and (max-width:916px){ | |
| 191 | + .pageCont .tableWrap table thead tr th {padding:15px 0;} | |
| 192 | + } | |
| 193 | +</style> | |
| 194 | + | |
| 195 | +</head> | |
| 196 | +<body> | |
| 197 | +<form name="writeForm" id="writeForm" method="post"> | |
| 198 | + | |
| 199 | + <div class="loading_layer"> | |
| 200 | + <div class="loading_container"> | |
| 201 | + <div class="bar"></div> | |
| 202 | + <div class="text">Loading</div> | |
| 203 | + </div> | |
| 204 | + </div> | |
| 205 | + | |
| 206 | + <div class="contWrap"> | |
| 207 | + <div class="pageTitle"> | |
| 208 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 209 | + <h2 class="titType1 c_222222 fwBold">전송사 선결제 현황</h2> | |
| 210 | + <p class="tType6 c_999999">B선 회원의 선결제 현황을 파악할 수 있습니다.</p> | |
| 211 | + </div> | |
| 212 | + <div class="pageCont"> | |
| 213 | + <table class="tbType2"> | |
| 214 | + <colgroup> | |
| 215 | + <col style="width: 20%"> | |
| 216 | + <col style="width: 80%"> | |
| 217 | + </colgroup> | |
| 218 | + <tbody> | |
| 219 | + <tr class="no_modi"> | |
| 220 | + <th><span class="reqArea">아이디</span></th> | |
| 221 | + <td colspan="3"> | |
| 222 | + <input type="text" id="mberId" name="mberId" value="" title="아이디" style="width:120px;" maxlength="20" /> | |
| 223 | + </td> | |
| 224 | + </tr> | |
| 225 | + | |
| 226 | + <tr class="no_modi"> | |
| 227 | + <th><span class="reqArea">전송사</span></th> | |
| 228 | + <td colspan="3"> | |
| 229 | + <select id="agentCode" name="agentCode" > | |
| 230 | + <option value="08">JJ B선 01라인</option> | |
| 231 | + <option value="09">JJ B선 02라인</option> | |
| 232 | + </select> | |
| 233 | + </td> | |
| 234 | + </tr> | |
| 235 | + | |
| 236 | + <tr class="no_modi"> | |
| 237 | + <th><span class="reqArea">결제일시</span></th> | |
| 238 | + <td colspan="3"> | |
| 239 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 240 | + <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);"> | |
| 241 | + <input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value=""> | |
| 242 | + <input type="button" class="calBtn"> | |
| 243 | + </a> | |
| 244 | + <input type="text" id="prePayTime" name="prePayTime" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/> | |
| 245 | + </td> | |
| 246 | + </tr> | |
| 247 | + | |
| 248 | + <tr class="no_modi"> | |
| 249 | + <th><span class="reqArea">결제금액</span></th> | |
| 250 | + <td colspan="3"> | |
| 251 | + <fmt:formatNumber value="" pattern="#,###" var="cash"/> | |
| 252 | + <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)"/> 원 | |
| 253 | + </td> | |
| 254 | + </tr> | |
| 255 | + </tbody> | |
| 256 | + </table> | |
| 257 | + <div class="btnWrap"> | |
| 258 | + <input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;"> | |
| 259 | + <input type="button" class="btnType1 bg_888888" value="저 장" onclick="fnPrePaySave();return false;"> | |
| 260 | + </div> | |
| 261 | + </div> | |
| 262 | + </div> | |
| 263 | +</form> | |
| 264 | +</body> | |
| 265 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/popup/PrePayPopupList.jsp
... | ... | @@ -0,0 +1,315 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : PrePayList.jsp | |
| 3 | + Description : B선 회원 선결제 리스트 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2023.10.26 우영두 최초 생성 | |
| 9 | + | |
| 10 | + Copyright (C) 2009 by ITN All right reserved. | |
| 11 | +--%> | |
| 12 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 13 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 14 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 15 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 16 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 17 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 18 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 19 | +<% | |
| 20 | + response.setHeader("Cache-Control","no-store"); | |
| 21 | + response.setHeader("Pragma","no-cache"); | |
| 22 | + response.setDateHeader("Expires",0); | |
| 23 | + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); | |
| 24 | +%> | |
| 25 | +<!DOCTYPE html> | |
| 26 | +<html lang="ko"> | |
| 27 | +<head> | |
| 28 | +<title>선결제 리스트</title> | |
| 29 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 30 | +<link rel="stylesheet" href="/pb/css/reset.css"> | |
| 31 | +<link rel="stylesheet" href="/pb/css/common.css"> | |
| 32 | +<link rel="stylesheet" href="/pb/css/content.css"> | |
| 33 | +<link rel="stylesheet" href="/pb/css/popup.css"> | |
| 34 | +<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script> | |
| 35 | +<script type="text/javascript" src="/pb/js/common.js"></script> | |
| 36 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 37 | +<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script> | |
| 38 | +<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script> | |
| 39 | + | |
| 40 | +<script type="text/javaScript" language="javascript"> | |
| 41 | + | |
| 42 | +function linkPage(pageNo){ | |
| 43 | + var listForm = document.listForm ; | |
| 44 | + listForm.pageIndex.value = pageNo ; | |
| 45 | + listForm.submit(); | |
| 46 | +} | |
| 47 | + | |
| 48 | +/* 체크된 메인배너 목록 삭제 */ | |
| 49 | +/* function fn_delete(){ | |
| 50 | + if($("input[name=chkEach]:checked").length == 0){ | |
| 51 | + alert("삭제할 항목을 선택해 주세요."); | |
| 52 | + return; | |
| 53 | + } | |
| 54 | + | |
| 55 | + if (confirm("해당 정보를 삭제하시겠습니까?")){ | |
| 56 | + frm = document.listForm; | |
| 57 | + frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>"; | |
| 58 | + frm.submit(); | |
| 59 | + } | |
| 60 | +} */ | |
| 61 | + | |
| 62 | +/* 수정 화면*/ | |
| 63 | +function fn_modify(prePayId){ | |
| 64 | + var frm = document.modiForm ; | |
| 65 | + frm.prePayId.value = prePayId ; | |
| 66 | + | |
| 67 | + frm.action = '/uss/ion/pay/PrePayPopupModifyAjax.do'; | |
| 68 | + frm.submit(); | |
| 69 | +} | |
| 70 | + | |
| 71 | +/* function fnSelectMber(mberId) { | |
| 72 | + document.modiForm.mberId.value = mberId; | |
| 73 | + 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'); | |
| 74 | + document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>"; | |
| 75 | + document.modiForm.target = "popupSelectMber"; | |
| 76 | + document.modiForm.submit(); | |
| 77 | +} */ | |
| 78 | + | |
| 79 | +//체크박스 전체선택/해제 | |
| 80 | +$(document).on("click", "#chkAll", function(e) { | |
| 81 | + var isChecked = $(this).is(":checked"); | |
| 82 | + $("input[name=chkEach]:checkbox").prop("checked", isChecked); | |
| 83 | +}); | |
| 84 | + | |
| 85 | +//기간선택 select | |
| 86 | +function fnSetCalMonth(val) { | |
| 87 | + var form = document.listForm; | |
| 88 | + var today = new Date(); | |
| 89 | + | |
| 90 | + var year = today.getFullYear(); | |
| 91 | + var month = ("0"+(today.getMonth()+1)).slice(-2); | |
| 92 | + var date = ("0"+today.getDate()).slice(-2); | |
| 93 | + | |
| 94 | + var sDate = new Date(today.setMonth(today.getMonth() - val)); | |
| 95 | + | |
| 96 | + var sYear = sDate.getFullYear(); | |
| 97 | + var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2); | |
| 98 | + var sDate = ("0"+sDate.getDate()).slice(-2); | |
| 99 | + | |
| 100 | + form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate; | |
| 101 | + form.searchEndDate.value = year + "-" + month + "-" + date; | |
| 102 | + | |
| 103 | +} | |
| 104 | + | |
| 105 | +//엑셀 다운로드 | |
| 106 | +function sendMsgExcelDownload(){ | |
| 107 | + var frm = document.listForm; | |
| 108 | + frm.method = "post"; | |
| 109 | + frm.action = "<c:url value='/uss/ion/pay/SendPayExcelDownload.do'/>"; | |
| 110 | + frm.submit(); | |
| 111 | +} | |
| 112 | + | |
| 113 | +//B선회원 선결제 팝업 | |
| 114 | +function fn_RegistPopup(){ | |
| 115 | + | |
| 116 | + 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'); | |
| 117 | + document.modiForm.action = "<c:url value='/uss/ion/pay/PrePayPopupRegistAjax.do'/>"; | |
| 118 | + document.modiForm.target = "popupSelectPrePayRegist"; | |
| 119 | + document.modiForm.submit(); | |
| 120 | +} | |
| 121 | + | |
| 122 | +</script> | |
| 123 | + | |
| 124 | +<style> | |
| 125 | + .calBtn{ | |
| 126 | + border: none; | |
| 127 | + background-color: transparent !important; | |
| 128 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 129 | + background-repeat: no-repeat; | |
| 130 | + width: 25px; | |
| 131 | + height: 25px !important; | |
| 132 | + vertical-align: middle; | |
| 133 | + margin-left: -38px !important; | |
| 134 | + margin-top: -2px !important; | |
| 135 | + cursor: pointer; | |
| 136 | + } | |
| 137 | + .pageCont {width:100%;padding:50px 30px;box-sizing:border-box;} | |
| 138 | + .tableWrapTotal {margin:0 0 20px;} | |
| 139 | + .tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;} | |
| 140 | + .tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;} | |
| 141 | + .tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;} | |
| 142 | + .tableWrapTotal .tbType1 thead tr.content th {font-size:14px;} | |
| 143 | + .tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;} | |
| 144 | + .tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;} | |
| 145 | + .listSerch .select {height:42px;vertical-align:top;} | |
| 146 | + .pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;} | |
| 147 | + .pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;} | |
| 148 | + .layer_msg_wrap {position:relative;} | |
| 149 | + .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;} | |
| 150 | + .layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;} | |
| 151 | + .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);} | |
| 152 | + .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);} | |
| 153 | + .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;} | |
| 154 | + .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;} | |
| 155 | + .layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;} | |
| 156 | + @media screen and (max-width:916px){ | |
| 157 | + .pageCont .tableWrap table thead tr th {padding:15px 0;} | |
| 158 | + } | |
| 159 | +</style> | |
| 160 | + | |
| 161 | +</head> | |
| 162 | +<body> | |
| 163 | + | |
| 164 | +<compress:html> | |
| 165 | + | |
| 166 | +<form name="listForm" action="<c:url value='/uss/ion/pay/PrePayPopupListAjax.do'/>" method="post"> | |
| 167 | + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> | |
| 168 | + <input type="hidden" name="selectedId" /> | |
| 169 | + <input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" /> | |
| 170 | + <input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" /> | |
| 171 | + | |
| 172 | + <div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;"> | |
| 173 | + <div class="pageTitle"> | |
| 174 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 175 | + <h2 class="titType1 c_222222 fwBold">선결제 현황</h2> | |
| 176 | + <p class="tType6 c_999999">B선 사용자 선결제 현황을 파악할 수 있습니다.</p> | |
| 177 | + </div> | |
| 178 | + | |
| 179 | + <div class="pageCont"> | |
| 180 | + <div class="listSerch"> | |
| 181 | + <div class="calendar_wrap"> | |
| 182 | + <select name="setCalMonth" onchange="fnSetCalMonth(this.value)"> | |
| 183 | + <option value="0">전체</option> | |
| 184 | + <option value="1">1개월</option> | |
| 185 | + <option value="3">3개월</option> | |
| 186 | + <option value="6">6개월</option> | |
| 187 | + </select> | |
| 188 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 189 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);"> | |
| 190 | + <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}'/>"> | |
| 191 | + <input type="button" class="calBtn"> | |
| 192 | + </div> | |
| 193 | + <span class="line">~</span> | |
| 194 | + <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);"> | |
| 195 | + <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}'/>"> | |
| 196 | + <input type="button" class="calBtn"> | |
| 197 | + </div> | |
| 198 | + </div> | |
| 199 | + <select id="searchCondition" name="searchCondition" class="select" title="전송사"> | |
| 200 | + <option value="">전체</option> | |
| 201 | + <option value="08" <c:if test="${searchVO.searchCondition == '08'}">selected="selected"</c:if>>제이제이 B선 01 라인 </option> | |
| 202 | + <option value="09" <c:if test="${searchVO.searchCondition == '09'}">selected="selected"</c:if>>제이제이 B선 02 라인</option> | |
| 203 | + </select> | |
| 204 | + <input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="100"/> | |
| 205 | + <input type="button" class="btnType1" value="검색" onclick="fn_search(); return false;"> | |
| 206 | + <input type="button" class="btnType1" onclick="fn_searchReset(); return false;" value="초기화"> | |
| 207 | + </div> | |
| 208 | + <div class="listTop"> | |
| 209 | + <p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건(총 <fmt:formatNumber value="${totSumPrice}" pattern="#,###" /> 원)</p> | |
| 210 | + <div class="rightWrap"> | |
| 211 | + <!-- <input type="button" class="printBtn"> --> | |
| 212 | + <input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();" style="cursor: pointer;" /> | |
| 213 | + <select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);"> | |
| 214 | + <option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option> | |
| 215 | + <option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option> | |
| 216 | + <option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option> | |
| 217 | + </select> | |
| 218 | + </div> | |
| 219 | + </div> | |
| 220 | + <div class="tableWrap"> | |
| 221 | + <table class="tbType1"> | |
| 222 | + <colgroup> | |
| 223 | + <%-- <col style="width: 10%"> --%> | |
| 224 | + <col style="width: 10%"> | |
| 225 | + <col style="width: 10%"> | |
| 226 | + <col style="width: 20%"> | |
| 227 | + <col style="width: 15%"> | |
| 228 | + <col style="width: 20%"> | |
| 229 | + <col style="width: 15%"> | |
| 230 | + </colgroup> | |
| 231 | + <thead> | |
| 232 | + <tr> | |
| 233 | + <!-- <th><input type="checkbox" name="checkAll" id="checkAll" class="check2" value="1" onClick="fnCheckAll();"></th> --> | |
| 234 | + <!-- <th> | |
| 235 | + <input type="checkbox" id="chkAll"> | |
| 236 | + </th> --> | |
| 237 | + <th>번호<input type="button" class="sort sortBtn" id="sort_prePayId"></th> | |
| 238 | + <th>아이디<input type="button" class="sort sortBtn" id="sort_mberId"></th> | |
| 239 | + <th>전송사<input type="button" class="sort sortBtn" id="sort_agentCode"></th> | |
| 240 | + <th>선결제일시<input type="button" class="sort sortBtn" id="sort_prePayDate"></th> | |
| 241 | + <th>결제금액<input type="button" class="sort sortBtn" id="sort_amt"></th> | |
| 242 | + <th>등록일자<input type="button" class="sort sortBtn" id="sort_lastUpdtPnttm"></th> | |
| 243 | + | |
| 244 | + </tr> | |
| 245 | + </thead> | |
| 246 | + <tbody> | |
| 247 | + <c:forEach var="result" items="${resultList}" varStatus="status"> | |
| 248 | + <tr> | |
| 249 | + <%-- <td> | |
| 250 | + <input type="checkbox" name="chkEach" id="chkEach_${status.index}" value="${result.prePayId}"> | |
| 251 | + </td> --%> | |
| 252 | + <td> | |
| 253 | + <c:if test="${searchVO.searchSortOrd eq 'desc' }"> | |
| 254 | + <c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/> | |
| 255 | + </c:if> | |
| 256 | + <c:if test="${searchVO.searchSortOrd eq 'asc' }"> | |
| 257 | + <c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/> | |
| 258 | + </c:if> | |
| 259 | + </td> | |
| 260 | + | |
| 261 | + <td> | |
| 262 | + <%-- <a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.mberId}"/>'); return false;"> --%> | |
| 263 | + <c:out value="${result.mberId}"/> | |
| 264 | + <!-- </a> --> | |
| 265 | + </td> | |
| 266 | + <td> | |
| 267 | + <a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;"> | |
| 268 | + <c:out value="${result.agentCodeDc}"/> | |
| 269 | + </a> | |
| 270 | + </td> | |
| 271 | + <td> | |
| 272 | + <a href="#" onclick="javascript:fn_modify('<c:out value="${result.prePayId}"/>'); return false;"> | |
| 273 | + <c:out value="${result.prePayDate}"/> <c:out value="${result.prePayTime}"/> | |
| 274 | + </a> | |
| 275 | + </td> | |
| 276 | + <td> | |
| 277 | + <fmt:formatNumber value="${result.amt}" pattern="#,###" /> | |
| 278 | + </td> | |
| 279 | + <td> | |
| 280 | + <c:out value="${result.lastUpdtPnttm}"/> | |
| 281 | + </td> | |
| 282 | + </tr> | |
| 283 | + </c:forEach> | |
| 284 | + <c:if test="${empty resultList}"> | |
| 285 | + <tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr> | |
| 286 | + </c:if> | |
| 287 | + </tbody> | |
| 288 | + </table> | |
| 289 | + </div> | |
| 290 | + <div class="btnWrap"> | |
| 291 | + <!-- <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> --> | |
| 292 | + <input type="button" class="btnType1" value="등록" onclick="fn_RegistPopup(); return false;"> | |
| 293 | + </div> | |
| 294 | + <!-- 페이지 네비게이션 시작 --> | |
| 295 | + <c:if test="${!empty resultList}"> | |
| 296 | + <div class="page"> | |
| 297 | + <ul class="inline"> | |
| 298 | + <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> | |
| 299 | + </ul> | |
| 300 | + </div> | |
| 301 | + </c:if> | |
| 302 | + <!-- //페이지 네비게이션 끝 --> | |
| 303 | + </div> | |
| 304 | + </div> | |
| 305 | +</form> | |
| 306 | +<form name="modiForm" id="modiForm" method="post"> | |
| 307 | + <input type="hidden" name="prePayId" /> | |
| 308 | + <input type="hidden" name="mberId" value="<c:out value='${mberId}'/>"/> | |
| 309 | + <input type="hidden" name="searchCondition" value="" /> | |
| 310 | + <input type="hidden" name="searchKeyword" value="" /> | |
| 311 | + <input type="hidden" name="pageUnit" value="${searchVO.pageUnit}" /> | |
| 312 | +</form> | |
| 313 | +</compress:html> | |
| 314 | +</body> | |
| 315 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/popup/PrePayPopupModify.jsp
... | ... | @@ -0,0 +1,209 @@ |
| 1 | +<% | |
| 2 | + /** | |
| 3 | + * @Class Name : PrePayModify.jsp | |
| 4 | + * @Description : B선 회원 선결제 상세 화면 | |
| 5 | + * @Modification Information | |
| 6 | + * @ | |
| 7 | + * @ 수정일 수정자 수정내용 | |
| 8 | + * @ ------- -------- --------------------------- | |
| 9 | + * @ 2009.02.01 박정규 최초 생성 | |
| 10 | + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 | |
| 11 | + * | |
| 12 | + * @author 공통서비스팀 | |
| 13 | + * @since 2009.02.01 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +%> | |
| 19 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 20 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 21 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 22 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 23 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 24 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 25 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 26 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 27 | +<!DOCTYPE html> | |
| 28 | +<html lang="ko"> | |
| 29 | +<head> | |
| 30 | +<title>팝업창관리 관리</title> | |
| 31 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 32 | +<link rel="stylesheet" href="/pb/css/reset.css"> | |
| 33 | +<link rel="stylesheet" href="/pb/css/common.css"> | |
| 34 | +<link rel="stylesheet" href="/pb/css/content.css"> | |
| 35 | +<link rel="stylesheet" href="/pb/css/popup.css"> | |
| 36 | +<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script> | |
| 37 | +<script type="text/javascript" src="/pb/js/common.js"></script> | |
| 38 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 39 | +<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script> | |
| 40 | +<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script> | |
| 41 | +<script type="text/javaScript" language="javascript"> | |
| 42 | + | |
| 43 | +/* 수정 */ | |
| 44 | +function fn_modify(){ | |
| 45 | + | |
| 46 | + var frm = document.writeForm; | |
| 47 | + | |
| 48 | + if(frm.mberId.value == ''){ | |
| 49 | + | |
| 50 | + alert("아이디를 입력해 주세요."); | |
| 51 | + return false; | |
| 52 | + | |
| 53 | + } | |
| 54 | + | |
| 55 | + if(frm.prePayDate.value == ''){ | |
| 56 | + | |
| 57 | + alert("결제일자를 선택해 주세요."); | |
| 58 | + return false; | |
| 59 | + | |
| 60 | + } | |
| 61 | + | |
| 62 | + if(frm.prePayTime.value == ''){ | |
| 63 | + | |
| 64 | + alert("결제 시간을 입력해 주세요."); | |
| 65 | + return false; | |
| 66 | + | |
| 67 | + } | |
| 68 | + | |
| 69 | + if(frm.amt.value == ''){ | |
| 70 | + | |
| 71 | + alert("결제금액을 입력해 주세요."); | |
| 72 | + return false; | |
| 73 | + | |
| 74 | + } | |
| 75 | + | |
| 76 | + if(!confirm("수정하시겠습니까?")) { | |
| 77 | + return; | |
| 78 | + } | |
| 79 | + frm.action = "<c:url value='/uss/ion/pay/updatePrePayModify.do'/>"; | |
| 80 | + frm.submit(); | |
| 81 | +} | |
| 82 | + | |
| 83 | +/* 체크된 메인배너 목록 삭제 */ | |
| 84 | +function fn_delete(){ | |
| 85 | + | |
| 86 | + if (confirm("해당 정보를 삭제하시겠습니까?")){ | |
| 87 | + frm = document.delForm; | |
| 88 | + frm.action = "<c:url value='/uss/ion/pay/PrePayDelete.do'/>"; | |
| 89 | + frm.submit(); | |
| 90 | + } | |
| 91 | +} | |
| 92 | + | |
| 93 | +function goList(){ | |
| 94 | + var writeForm = document.writeForm; | |
| 95 | + var actionUrl = "/uss/ion/pay/PrePayPopupListAjax.do"; | |
| 96 | + | |
| 97 | + writeForm.action = actionUrl; | |
| 98 | + writeForm.submit(); | |
| 99 | +} | |
| 100 | + | |
| 101 | +</script> | |
| 102 | + | |
| 103 | +<style> | |
| 104 | + .calBtn{ | |
| 105 | + border: none; | |
| 106 | + background-color: transparent !important; | |
| 107 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 108 | + background-repeat: no-repeat; | |
| 109 | + width: 25px; | |
| 110 | + height: 25px !important; | |
| 111 | + vertical-align: middle; | |
| 112 | + margin-left: -38px !important; | |
| 113 | + margin-top: -2px !important; | |
| 114 | + cursor: pointer; | |
| 115 | + } | |
| 116 | + .pageCont {width:100%;padding:50px 30px;box-sizing:border-box;} | |
| 117 | + .tableWrapTotal {margin:0 0 20px;} | |
| 118 | + .tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;} | |
| 119 | + .tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;} | |
| 120 | + .tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;} | |
| 121 | + .tableWrapTotal .tbType1 thead tr.content th {font-size:14px;} | |
| 122 | + .tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;} | |
| 123 | + .tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;} | |
| 124 | + .listSerch .select {height:42px;vertical-align:top;} | |
| 125 | + .pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;} | |
| 126 | + .pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;} | |
| 127 | + .layer_msg_wrap {position:relative;} | |
| 128 | + .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;} | |
| 129 | + .layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;} | |
| 130 | + .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);} | |
| 131 | + .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);} | |
| 132 | + .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;} | |
| 133 | + .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;} | |
| 134 | + .layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;} | |
| 135 | + @media screen and (max-width:916px){ | |
| 136 | + .pageCont .tableWrap table thead tr th {padding:15px 0;} | |
| 137 | + } | |
| 138 | +</style> | |
| 139 | + | |
| 140 | +</head> | |
| 141 | +<body> | |
| 142 | +<form name="writeForm" id="writeForm" method="post"> | |
| 143 | + <input type="hidden" id="prePayId" name="prePayId" value="<c:out value='${resultVO.prePayId}'/>"/> | |
| 144 | + <div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;"> | |
| 145 | + <div class="pageTitle"> | |
| 146 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 147 | + <h2 class="titType1 c_222222 fwBold">선결제 정보 수정</h2> | |
| 148 | + <p class="tType6 c_999999">선결제정보 수정 할 수 있습니다.</p> | |
| 149 | + </div> | |
| 150 | + <div class="pageCont"> | |
| 151 | + <table class="tbType2"> | |
| 152 | + <colgroup> | |
| 153 | + <col style="width: 20%"> | |
| 154 | + <col style="width: 80%"> | |
| 155 | + </colgroup> | |
| 156 | + <tbody> | |
| 157 | + <tr class="no_modi"> | |
| 158 | + <th><span class="reqArea">아이디</span></th> | |
| 159 | + <td colspan="3"> | |
| 160 | + <input type="text" id="mberId" name="mberId" value="<c:out value="${resultVO.mberId}"/>" title="아이디" style="width:120px;" maxlength="20" /> | |
| 161 | + </td> | |
| 162 | + </tr> | |
| 163 | + | |
| 164 | + <tr class="no_modi"> | |
| 165 | + <th><span class="reqArea">전송사</span></th> | |
| 166 | + <td colspan="3"> | |
| 167 | + <select id="agentCode" name="agentCode" > | |
| 168 | + <option value="08" <c:if test="${resultVO.agentCode == '08'}">selected</c:if> >JJ B01</option> | |
| 169 | + <option value="09" <c:if test="${resultVO.agentCode == '09'}">selected</c:if> >JJ B02</option> | |
| 170 | + </select> | |
| 171 | + </td> | |
| 172 | + </tr> | |
| 173 | + | |
| 174 | + <tr class="no_modi"> | |
| 175 | + <th><span class="reqArea">결제일시</span></th> | |
| 176 | + <td colspan="3"> | |
| 177 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 178 | + <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);"> | |
| 179 | + <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}'/>"> | |
| 180 | + <input type="button" class="calBtn"> | |
| 181 | + </a> | |
| 182 | + <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"/> | |
| 183 | + </td> | |
| 184 | + </tr> | |
| 185 | + | |
| 186 | + <tr class="no_modi"> | |
| 187 | + <th><span class="reqArea">결제금액</span></th> | |
| 188 | + <td colspan="3"> | |
| 189 | + <fmt:formatNumber value="${resultVO.amt}" pattern="#,###" var="cash"/> | |
| 190 | + <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)"/> 원 | |
| 191 | + </td> | |
| 192 | + </tr> | |
| 193 | + </tbody> | |
| 194 | + </table> | |
| 195 | + <div class="btnWrap"> | |
| 196 | + <!-- <input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;"> --> | |
| 197 | + <input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList();return false;"> | |
| 198 | + <!-- <input type="button" class="btnType1" value="수 정" onclick="fn_modify(); return false;"> --> | |
| 199 | + | |
| 200 | + </div> | |
| 201 | + </div> | |
| 202 | + </div> | |
| 203 | +</form> | |
| 204 | +<form id="delForm" name="delForm" method="post"> | |
| 205 | + <input type="hidden" id="chkEach" name="chkEach" value="<c:out value='${resultVO.prePayId}'/>"/> | |
| 206 | +</form> | |
| 207 | + | |
| 208 | +</body> | |
| 209 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pay/prePay/popup/PrePayPopupRegist.jsp
... | ... | @@ -0,0 +1,272 @@ |
| 1 | +<% | |
| 2 | + /** | |
| 3 | + * @Class Name : PrePayRegist.jsp | |
| 4 | + * @Description : B선 회원 선결제 등록 화면 | |
| 5 | + * @Modification Information | |
| 6 | + * @ | |
| 7 | + * @ 수정일 수정자 수정내용 | |
| 8 | + * @ ------- -------- --------------------------- | |
| 9 | + * @ 2009.02.01 박정규 최초 생성 | |
| 10 | + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 | |
| 11 | + * | |
| 12 | + * @author 공통서비스팀 | |
| 13 | + * @since 2009.02.01 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +%> | |
| 19 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 20 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 21 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 22 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 23 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 24 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 25 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 26 | +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> | |
| 27 | +<!DOCTYPE html> | |
| 28 | +<html lang="ko"> | |
| 29 | +<head> | |
| 30 | +<title>전송사 선결제 관리</title> | |
| 31 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 32 | +<link rel="stylesheet" href="/pb/css/reset.css"> | |
| 33 | +<link rel="stylesheet" href="/pb/css/common.css"> | |
| 34 | +<link rel="stylesheet" href="/pb/css/content.css"> | |
| 35 | +<link rel="stylesheet" href="/pb/css/popup.css"> | |
| 36 | +<script type="text/javascript" src="/pb/js/jquery-3.5.0.js"></script> | |
| 37 | +<script type="text/javascript" src="/pb/js/common.js"></script> | |
| 38 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 39 | +<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script> | |
| 40 | +<script type="text/javascript" src="<c:url value='/js/ncms_common.js' />"></script> | |
| 41 | +<script type="text/javaScript" language="javascript"> | |
| 42 | +$( document ).ready(function(){ | |
| 43 | + | |
| 44 | + $('#amtInputId').off('input').on('input',function(e){ | |
| 45 | + /* var value = $(this).val(); | |
| 46 | + var regExp = /^-?\d*.?\d{0,2}$/; | |
| 47 | + if(!regExp.test(value)){ | |
| 48 | + $(this).val(value.substring(0,value.length-1)); | |
| 49 | + } */ | |
| 50 | + | |
| 51 | + var value = $(this).val(); | |
| 52 | + var regExp =/^([-]?(\d*))(\.?\d{0,2})$/; | |
| 53 | + if(!regExp.test(value)){ | |
| 54 | + value = value.substr(0, value.length - 1); | |
| 55 | + if(value.lastIndexOf("-")>0){ //중간에 -가 있다면 replace | |
| 56 | + if(value.indexOf("-")==0){ //음수라면 replace 후 - 붙여준다. | |
| 57 | + value = "-"+value.replace(/[-]/gi,''); | |
| 58 | + }else{ | |
| 59 | + value = value.replace(/[-]/gi,''); | |
| 60 | + } | |
| 61 | + } | |
| 62 | +// alert("거짓 "+value) | |
| 63 | + }else{ | |
| 64 | +// alert("참 "+value) | |
| 65 | + } | |
| 66 | + $(this).val(value); | |
| 67 | + }); | |
| 68 | + | |
| 69 | +}); | |
| 70 | + | |
| 71 | + | |
| 72 | +function goList(){ | |
| 73 | + var writeForm = document.writeForm; | |
| 74 | + var actionUrl = "/uss/ion/pay/PrePayList.do"; | |
| 75 | + | |
| 76 | + writeForm.action = actionUrl; | |
| 77 | + writeForm.submit(); | |
| 78 | +} | |
| 79 | + | |
| 80 | +function fnPrePaySave(){ | |
| 81 | + | |
| 82 | + var form = document.writeForm; | |
| 83 | + | |
| 84 | + if(form.mberId.value == ''){ | |
| 85 | + | |
| 86 | + alert("아이디를 입력해 주세요."); | |
| 87 | + return false; | |
| 88 | + | |
| 89 | + } | |
| 90 | + | |
| 91 | + if(form.prePayDate.value == ''){ | |
| 92 | + | |
| 93 | + alert("결제일자를 선택해 주세요."); | |
| 94 | + return false; | |
| 95 | + | |
| 96 | + } | |
| 97 | + | |
| 98 | + if(form.prePayTime.value == ''){ | |
| 99 | + | |
| 100 | + alert("결제 시간을 입력해 주세요."); | |
| 101 | + return false; | |
| 102 | + | |
| 103 | + } | |
| 104 | + | |
| 105 | + if(form.amt.value == ''){ | |
| 106 | + | |
| 107 | + alert("결제금액을 입력해 주세요."); | |
| 108 | + return false; | |
| 109 | + | |
| 110 | + } | |
| 111 | + | |
| 112 | + | |
| 113 | + var data = new FormData(document.writeForm); | |
| 114 | + var url = "/uss/ion/pay/insertPrePayRegistAjax.do"; | |
| 115 | + | |
| 116 | + $.ajax({ | |
| 117 | + type: "POST", | |
| 118 | + url: url, | |
| 119 | + data: data, | |
| 120 | + dataType:'json', | |
| 121 | + async: true, | |
| 122 | + processData: false, | |
| 123 | + contentType: false, | |
| 124 | + cache: false, | |
| 125 | + //timeout: 600000, | |
| 126 | + success: function (returnData, status) { | |
| 127 | + if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 | |
| 128 | + | |
| 129 | + var result = returnData.result; | |
| 130 | + var message = returnData.message; | |
| 131 | + | |
| 132 | + if(result == "success"){ | |
| 133 | + | |
| 134 | + alert(message); | |
| 135 | + opener.location.reload(); | |
| 136 | + window.close(); | |
| 137 | + | |
| 138 | + }else{ | |
| 139 | + alert(returnData.message); | |
| 140 | + return false; | |
| 141 | + | |
| 142 | + } | |
| 143 | + } else if(status== 'fail'){ | |
| 144 | + alert("선결제 정보 등록 중 오류가 발생하였습니다."); | |
| 145 | + console.log("status : fail ~"); | |
| 146 | + } | |
| 147 | + }, | |
| 148 | + error: function (e) { | |
| 149 | + alert("선결제 정보 등록 중 오류가 발생하였습니다."); | |
| 150 | + console.log("ERROR : ", e); | |
| 151 | + }, | |
| 152 | + beforeSend : function(xmlHttpRequest) { | |
| 153 | + //로딩창 show | |
| 154 | + $('.loading_layer').addClass('active'); | |
| 155 | + }, | |
| 156 | + complete : function(xhr, textStatus) { | |
| 157 | + //로딩창 hide | |
| 158 | + $('.loading_layer').removeClass('active'); | |
| 159 | + } | |
| 160 | + }); | |
| 161 | + | |
| 162 | +} | |
| 163 | + | |
| 164 | +</script> | |
| 165 | + | |
| 166 | +<style> | |
| 167 | + .calBtn{ | |
| 168 | + border: none; | |
| 169 | + background-color: transparent !important; | |
| 170 | + background-image: url(/pb/img/common/calendarIcon.png); | |
| 171 | + background-repeat: no-repeat; | |
| 172 | + width: 25px; | |
| 173 | + height: 25px !important; | |
| 174 | + vertical-align: middle; | |
| 175 | + margin-left: -38px !important; | |
| 176 | + margin-top: -2px !important; | |
| 177 | + cursor: pointer; | |
| 178 | + } | |
| 179 | + .pageCont {width:100%;padding:50px 30px;box-sizing:border-box;} | |
| 180 | + .tableWrapTotal {margin:0 0 20px;} | |
| 181 | + .tableWrapTotal .tbType1 thead tr:first-child {border-width:1px;} | |
| 182 | + .tableWrapTotal .tbType1 thead tr th {border-left:1px solid #e6e6e6;} | |
| 183 | + .tableWrapTotal .tbType1 thead tr th:first-child {border-left:0 none;} | |
| 184 | + .tableWrapTotal .tbType1 thead tr.content th {font-size:14px;} | |
| 185 | + .tableWrapTotal .tbType1 tbody tr td {border-left:1px solid #e6e6e6;} | |
| 186 | + .tableWrapTotal .tbType1 tbody tr td:first-child {border-left:0 none;} | |
| 187 | + .listSerch .select {height:42px;vertical-align:top;} | |
| 188 | + .pageCont .tbType1 tbody tr td.msg_detail {overflow:inherit;} | |
| 189 | + .pageCont .tbType1 tbody tr td.msg_detail a {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;} | |
| 190 | + .layer_msg_wrap {position:relative;} | |
| 191 | + .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;} | |
| 192 | + .layer_msg_wrap .layer_msg_detail button {position:absolute;right:0;top:0;width:35px;height:35px;} | |
| 193 | + .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);} | |
| 194 | + .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);} | |
| 195 | + .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;} | |
| 196 | + .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;} | |
| 197 | + .layer_msg_wrap .layer_msg_detail .content .rev_cont {text-align:left;} | |
| 198 | + @media screen and (max-width:916px){ | |
| 199 | + .pageCont .tableWrap table thead tr th {padding:15px 0;} | |
| 200 | + } | |
| 201 | +</style> | |
| 202 | + | |
| 203 | +</head> | |
| 204 | +<body> | |
| 205 | +<form name="writeForm" id="writeForm" method="post"> | |
| 206 | + | |
| 207 | + <div class="loading_layer"> | |
| 208 | + <div class="loading_container"> | |
| 209 | + <div class="bar"></div> | |
| 210 | + <div class="text">Loading</div> | |
| 211 | + </div> | |
| 212 | + </div> | |
| 213 | + | |
| 214 | + <div class="contWrap" style="width:calc(100% - 800px);position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;"> | |
| 215 | + <div class="pageTitle"> | |
| 216 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 217 | + <h2 class="titType1 c_222222 fwBold">전송사 선결제 현황</h2> | |
| 218 | + <p class="tType6 c_999999">B선 회원의 선결제 현황을 파악할 수 있습니다.</p> | |
| 219 | + </div> | |
| 220 | + <div class="pageCont"> | |
| 221 | + <table class="tbType2"> | |
| 222 | + <colgroup> | |
| 223 | + <col style="width: 20%"> | |
| 224 | + <col style="width: 80%"> | |
| 225 | + </colgroup> | |
| 226 | + <tbody> | |
| 227 | + <tr class="no_modi"> | |
| 228 | + <th><span class="reqArea">아이디</span></th> | |
| 229 | + <td colspan="3"> | |
| 230 | + <input type="text" id="mberId" name="mberId" value="<c:out value='${mberId}'/>" title="아이디" style="width:120px;" maxlength="20" /> | |
| 231 | + </td> | |
| 232 | + </tr> | |
| 233 | + | |
| 234 | + <tr class="no_modi"> | |
| 235 | + <th><span class="reqArea">전송사</span></th> | |
| 236 | + <td colspan="3"> | |
| 237 | + <select id="agentCode" name="agentCode" style="width:43%;"> | |
| 238 | + <option value="08">JJ B선 01라인</option> | |
| 239 | + <option value="09">JJ B선 02라인</option> | |
| 240 | + </select> | |
| 241 | + </td> | |
| 242 | + </tr> | |
| 243 | + | |
| 244 | + <tr class="no_modi"> | |
| 245 | + <th><span class="reqArea">결제일시</span></th> | |
| 246 | + <td colspan="3"> | |
| 247 | + <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> | |
| 248 | + <a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.writeForm, document.forms.writeForm.prePayDate);"> | |
| 249 | + <input style="width:auto;min-width: 83px;" type="text" class="date_format" name="prePayDate" id="prePayDate" size="4" maxlength="4" readonly="" value=""> | |
| 250 | + <input type="button" class="calBtn"> | |
| 251 | + </a> | |
| 252 | + <input type="text" id="prePayTime" name="prePayTime" style="width:auto;min-width:73px; margin:0 0 0 10px;" size="2" maxLength="5"/> | |
| 253 | + </td> | |
| 254 | + </tr> | |
| 255 | + | |
| 256 | + <tr class="no_modi"> | |
| 257 | + <th><span class="reqArea">결제금액</span></th> | |
| 258 | + <td colspan="3"> | |
| 259 | + <fmt:formatNumber value="" pattern="#,###" var="cash"/> | |
| 260 | + <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)"/> 원 | |
| 261 | + </td> | |
| 262 | + </tr> | |
| 263 | + </tbody> | |
| 264 | + </table> | |
| 265 | + <div class="btnWrap"> | |
| 266 | + <input type="button" class="btnType1 bg_888888" value="저 장" onclick="fnPrePaySave();return false;"> | |
| 267 | + </div> | |
| 268 | + </div> | |
| 269 | + </div> | |
| 270 | +</form> | |
| 271 | +</body> | |
| 272 | +</html> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?