diff --git a/src/main/java/itn/com/cmm/filter/XssFilter.java b/src/main/java/itn/com/cmm/filter/XssFilter.java index 1771684a..9077213f 100644 --- a/src/main/java/itn/com/cmm/filter/XssFilter.java +++ b/src/main/java/itn/com/cmm/filter/XssFilter.java @@ -1,48 +1,48 @@ -/* - * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package itn.com.cmm.filter; - -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; - -public class XssFilter implements Filter{ - - @SuppressWarnings("unused") - private FilterConfig config; - - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - ServletContext context = config.getServletContext(); - chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request), response); - //chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request , response , context ), response); - } - - public void init(FilterConfig config) throws ServletException { - this.config = config; - } - - public void destroy() { - this.config = null; - } -} +/* + * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package itn.com.cmm.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +public class XssFilter implements Filter{ + + @SuppressWarnings("unused") + private FilterConfig config; + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + ServletContext context = config.getServletContext(); + chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request), response); + //chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request , response , context ), response); + } + + public void init(FilterConfig config) throws ServletException { + this.config = config; + } + + public void destroy() { + this.config = null; + } +} diff --git a/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java b/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java index 506aa3b3..acf34cba 100644 --- a/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java +++ b/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java @@ -1,54 +1,54 @@ -package itn.let.mjo.addr.service; - -import java.util.List; - -import itn.let.mail.service.StatusResponse; - -/** - * 주소록 관리를 위한 서비스 인터페이스 클래스 - * @author ITN - * @since 2021.04.08 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *   수정일      수정자          수정내용
- *  -------    --------    ---------------------------
- *  2021.04.08  ITN          최초 생성
- *  
- */ -public interface AddrGroupService { - - public List selectAddrGroupList(AddrGroupVO addrGroupVO) throws Exception; - - public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception; - - // 주소록 그룹 카운트 조회(전체) - public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception; - - // 주소록 그룹 카운트 조회(그룹미지정) - public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception; - - // 주소록 그룹 카운트 조회(자주보내는 번호) - public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception; - - public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception; - - public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception; - - public int deleteAddrGroup(AddrGroupVO addrGroupVO) throws Exception; - - public int deleteAddrGroupByAdmin(AddrGroupVO addrGroupVO) throws Exception; - - public int deleteAddrGroupByAdminAll(AddrGroupVO addrGroupVO) throws Exception; - - public int selectDuplAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception; - - public int selectMaxOrderNumber(AddrGroupVO addrGroupVO) throws Exception; - - public void mergeAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception; - - public void copyAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception; - -} +package itn.let.mjo.addr.service; + +import java.util.List; + +import itn.let.mail.service.StatusResponse; + +/** + * 주소록 관리를 위한 서비스 인터페이스 클래스 + * @author ITN + * @since 2021.04.08 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *   수정일      수정자          수정내용
+ *  -------    --------    ---------------------------
+ *  2021.04.08  ITN          최초 생성
+ *  
+ */ +public interface AddrGroupService { + + public List selectAddrGroupList(AddrGroupVO addrGroupVO) throws Exception; + + public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception; + + // 주소록 그룹 카운트 조회(전체) + public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception; + + // 주소록 그룹 카운트 조회(그룹미지정) + public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception; + + // 주소록 그룹 카운트 조회(자주보내는 번호) + public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception; + + public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception; + + public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception; + + public int deleteAddrGroup(AddrGroupVO addrGroupVO) throws Exception; + + public int deleteAddrGroupByAdmin(AddrGroupVO addrGroupVO) throws Exception; + + public int deleteAddrGroupByAdminAll(AddrGroupVO addrGroupVO) throws Exception; + + public int selectDuplAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception; + + public int selectMaxOrderNumber(AddrGroupVO addrGroupVO) throws Exception; + + public void mergeAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception; + + public void copyAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception; + +} diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java index b7e49b1f..795495b7 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayDAO.java @@ -1,357 +1,357 @@ -package itn.let.mjo.pay.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Repository; - -import egovframework.rte.psl.dataaccess.EgovAbstractDAO; -import itn.let.mjo.pay.service.MjonPayVO; -import itn.let.mjo.pay.service.MjonVaMsgLogVO; -import itn.let.mjo.pay.service.RefundVO; -import itn.let.mjo.pay.service.StVcVO; -@Repository("mjonPayDAO") -public class MjonPayDAO extends EgovAbstractDAO { - - @SuppressWarnings("unchecked") - public List selectPayList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayList", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectCashList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectCashList", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectCashRemainList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectCashRemainList", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectCashRemainNewList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectCashRemainNewList", mjonPayVO); - } - - public int selectCashRemainNewCnt(MjonPayVO mjonPayVO) throws Exception{ - return (int) select("mjonPayDAO.selectCashRemainNewCnt", mjonPayVO); - } - - - @SuppressWarnings("unchecked") - public List selectMemberCashList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectMemberCashList", mjonPayVO); - } - - public MjonPayVO selectCashVO(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectCashVO", mjonPayVO); - } - - public void insertCash(MjonPayVO mjonPayVO) throws Exception{ - - try { - - insert("mjonPayDAO.insertCash", mjonPayVO); - - } catch (Exception e) { - - e.printStackTrace(); - } - - - } - - public void updateCash(MjonPayVO mjonPayVO) throws Exception{ - update("mjonPayDAO.updateCash", mjonPayVO); - } - - public void deleteCash(MjonPayVO mjonPayVO) throws Exception{ - update("mjonPayDAO.deleteCash", mjonPayVO); - } - - public void insertMjPg(MjonPayVO mjonPayVO) throws Exception{ - insert("mjonPayDAO.insertMjPg", mjonPayVO); - } - - public void insertMjTax(MjonPayVO mjonPayVO) throws Exception { - insert("mjonPayDAO.insertMjTax", mjonPayVO); - } - - public void updateMemberCash(MjonPayVO mjonPayVO) throws Exception { - insert("mjonPayDAO.updateMemberCash", mjonPayVO); - } - - public void updateMemberPoint(MjonPayVO mjonPayVO) throws Exception { - insert("mjonPayDAO.updateMemberPoint", mjonPayVO); - } - - public void insertPoint(MjonPayVO mjonPayVO) throws Exception { - insert("mjonPayDAO.insertPoint", mjonPayVO); - - } - - public MjonPayVO selectPayVO(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectPayVO", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectPointList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPointList", mjonPayVO); - } - - // 가상계좌(세틀뱅크) 입금내역 조회 by pk - public StVcVO selectVacsByPk(StVcVO stVcVO) throws Exception{ - return (StVcVO)select("mjonPayDAO.selectVacsByPk", stVcVO); - } - - // 가상계좌(세틀뱅크) 회원ID 조회 by 입금자명 - public StVcVO selectMberIdByIacctNm(StVcVO stVcVO) throws Exception{ - return (StVcVO)select("mjonPayDAO.selectMberIdByIacctNm", stVcVO); - } - - // 가상계좌(세틀뱅크) 충전내역 요청여부 by 가상계좌입금정보 - public StVcVO selectVaChargeByVc(StVcVO stVcVO) throws Exception{ - return (StVcVO)select("mjonPayDAO.selectVaChargeByVc", stVcVO); - } - - // 가상계좌(세틀뱅크) 입금 자동충전 충전내역 등록 - public void insertVaCharge(StVcVO stVcVO) throws Exception{ - insert("mjonPayDAO.insertVaCharge", stVcVO); - } - - // 가상계좌(세틀뱅크) 입금 자동충전 충전내역 수정 - public void updateVaCharge(StVcVO stVcVO) throws Exception{ - update("mjonPayDAO.updateVaCharge", stVcVO); - } - - public MjonPayVO selectPointVO(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectPointVO", mjonPayVO); - } - - public void deletePoint(MjonPayVO mjonPayVO) throws Exception{ - update("mjonPayDAO.deletePoint", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectUsedCashTotCnt(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectUsedCashTotCnt", mjonPayVO); - } - - //전용계좌 문자발송 로그 기록 입력 - public int insertVaMsgLogInfo(MjonVaMsgLogVO mjonVaMsgLogVO) throws Exception{ - return update("mjonPayDAO.insertVaMsgLogInfo", mjonVaMsgLogVO); - } - - //일일 전용계좌 문자발성 건수 불러오기 - public MjonVaMsgLogVO selectMyAcctSendCnt(MjonVaMsgLogVO mjonVaMsgLogVO) throws Exception { - return (MjonVaMsgLogVO) select("mjonPayDAO.selectMyAcctSendCnt", mjonVaMsgLogVO); - } - - // 모바일(KG 모빌리언스) 인서트 - public void insertKgm(MjonPayVO mjonPayVO) throws Exception{ - insert("mjonPayDAO.insertKgm", mjonPayVO); - } - - // 모바일(KG 모빌리언스) VO - public MjonPayVO selectKgmVO(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectKgmVO", mjonPayVO); - } - - public void insertPointUse(MjonPayVO mjonPayVO) throws Exception { - insert("mjonPayDAO.insertPointUse", mjonPayVO); - - } - - @SuppressWarnings("unchecked") - public List selectPointUseList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPointUseList", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public MjonPayVO selectPointUseDetail(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectPointUseDetail", mjonPayVO); - } - - public void updatePointUse(MjonPayVO mjonPayVO) throws Exception{ - update("mjonPayDAO.updatePointUse", mjonPayVO); - } - - public String selectSumPayMoney(String userId) throws Exception{ - return (String) select("mjonPayDAO.selectSumPayMoney", userId); - } - - public String selectAgentSumPayMoney(String userId) throws Exception{ - return (String) select("mjonPayDAO.selectAgentSumPayMoney", userId); - } - - public String selectSumPoint(String userId) throws Exception{ - return (String) select("mjonPayDAO.selectSumPoint", userId); - } - - @SuppressWarnings("unchecked") - public List selectPayListForRefund(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayListForRefund", mjonPayVO); - } - - public int updateMjonPgStatus(RefundVO refundVO) throws Exception { - return update("mjonPayDAO.updateMjonPgStatus", refundVO); - } - - @SuppressWarnings("unchecked") - public List selectPayDayChart(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayDayChart", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectPayMonthChart(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayMonthChart", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectPayDayChartDashboard(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayDayChartDashboard", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectPayMonthChartDashboard(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectPayMonthChartDashboard", mjonPayVO); - } - - public MjonPayVO selectPayYearChart(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectPayYearChart", mjonPayVO); - } - - public int selectMemerPayCount(String userId) throws Exception{ - return (int) select("mjonPayDAO.selectMemerPayCount", userId); - } - - public int selectPayCountByTid(String tid) throws Exception{ - return (int) select("mjonPayDAO.selectPayCountByTid", tid); - } - - public MjonPayVO selectPrvMonthUseCash(String mberId) throws Exception{ - return (MjonPayVO)select("mjonPayDAO.selectPrvMonthUseCash", mberId); - } - - public int updateMjonPgStatusAfterPay(MjonPayVO mjonPayVO) throws Exception { - return update("mjonPayDAO.updateMjonPgStatusAfterPay", mjonPayVO); - } - - //첫결제 정보 불러오기 - public MjonPayVO selectFrstPayInfoByUserId(String userId) throws Exception{ - return (MjonPayVO) select("mjonPayDAO.selectFrstPayInfoByUserId", userId); - } - - //첫결제 충전 포인트 정보 불러오기 - public MjonPayVO selectFrstPointInfoByUserId(MjonPayVO mjonPayVO) throws Exception{ - return (MjonPayVO) select("mjonPayDAO.selectFrstPointInfoByUserId", mjonPayVO); - } - - public MjonPayVO selectPayInfoByMoid(String moid) throws Exception{ - return (MjonPayVO) select("mjonPayDAO.selectPayInfoByMoid", moid); - } - - public String selectOneYearPayCnt(String userId) throws Exception{ - return (String)select("mjonPayDAO.selectOneYearPayCnt", userId); - } - - - public int selectCashPointSendIdCnt(String userId) throws Exception{ - return (int) select("mjonPayDAO.selectCashPointSendIdCnt", userId); - } - - public MjonPayVO selectCashPoint(String userId) throws Exception{ - return (MjonPayVO) select("mjonPayDAO.selectCashPoint", userId); - } - - public void insertMjCashPointSend(MjonPayVO mjonPayVO) throws Exception{ - insert("mjonPayDAO.insertMjCashPointSend", mjonPayVO); - } - - public String selectCashPointUniqId(String mberId) throws Exception{ - return (String)select("mjonPayDAO.selectCashPointUniqId", mberId); - } - - @SuppressWarnings("unchecked") - public List selectCashPointSendList(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectCashPointSendList", mjonPayVO); - } - - // 문자 발송단가 할인여부 - public int selectMsgSalePriceCnt(String userId) throws Exception{ - return (int) select("mjonPayDAO.selectMsgSalePriceCnt", userId); - } - - @SuppressWarnings("unchecked") - public List selectUsedCashWithKakaoTotCnt(MjonPayVO mjonPayVO) throws Exception{ - return (List)list("mjonPayDAO.selectUsedCashWithKakaoTotCnt", mjonPayVO); - } - - @SuppressWarnings("unchecked") - public List selectCashInfoList(String userId) throws Exception{ - return (List)list("mjonPayDAO.selectCashInfoList", userId); - } - - @SuppressWarnings("unchecked") - public List selectPointInfoList(String userId) throws Exception{ - return (List)list("mjonPayDAO.selectPointInfoList", userId); - } - - public String selectPointLatestOnePoint(String userId) { - - return (String) select("mjonPayDAO.selectPointLatestOnePoint", userId); - - } - - //누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산) - public String selectTotalSumCashForAfterPay(String userId) throws Exception{ - - String result = ""; - - try { - - result = (String) select("mjonPayDAO.selectTotalSumCashForAfterPay", userId); - - } catch (Exception e) { - System.out.println("selectTotalSumCashForAfterPay DAO Error!!! " + e); - } - - return result; - - } - - - //누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용) - public String selectTotalSumPointForAfterPay(String userId) throws Exception{ - - String result = ""; - - try { - - result = (String) select("mjonPayDAO.selectTotalSumPointForAfterPay", userId); - - } catch (Exception e) { - System.out.println("selectTotalSumPointForAfterPay DAO Error!!! " + e); - } - - return result; - - } - - //누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액) - public String selectTotSumPaymentAfterPay(String userId) throws Exception{ - - String result = ""; - - try { - - result = (String) select("mjonPayDAO.selectTotSumPaymentAfterPay", userId); - - } catch (Exception e) { - System.out.println("selectTotSumPaymentAfterPay DAO Error!!! " + e); - } - - return result; - - } - -} +package itn.let.mjo.pay.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import itn.let.mjo.pay.service.MjonPayVO; +import itn.let.mjo.pay.service.MjonVaMsgLogVO; +import itn.let.mjo.pay.service.RefundVO; +import itn.let.mjo.pay.service.StVcVO; +@Repository("mjonPayDAO") +public class MjonPayDAO extends EgovAbstractDAO { + + @SuppressWarnings("unchecked") + public List selectPayList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayList", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectCashList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectCashList", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectCashRemainList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectCashRemainList", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectCashRemainNewList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectCashRemainNewList", mjonPayVO); + } + + public int selectCashRemainNewCnt(MjonPayVO mjonPayVO) throws Exception{ + return (int) select("mjonPayDAO.selectCashRemainNewCnt", mjonPayVO); + } + + + @SuppressWarnings("unchecked") + public List selectMemberCashList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectMemberCashList", mjonPayVO); + } + + public MjonPayVO selectCashVO(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectCashVO", mjonPayVO); + } + + public void insertCash(MjonPayVO mjonPayVO) throws Exception{ + + try { + + insert("mjonPayDAO.insertCash", mjonPayVO); + + } catch (Exception e) { + + e.printStackTrace(); + } + + + } + + public void updateCash(MjonPayVO mjonPayVO) throws Exception{ + update("mjonPayDAO.updateCash", mjonPayVO); + } + + public void deleteCash(MjonPayVO mjonPayVO) throws Exception{ + update("mjonPayDAO.deleteCash", mjonPayVO); + } + + public void insertMjPg(MjonPayVO mjonPayVO) throws Exception{ + insert("mjonPayDAO.insertMjPg", mjonPayVO); + } + + public void insertMjTax(MjonPayVO mjonPayVO) throws Exception { + insert("mjonPayDAO.insertMjTax", mjonPayVO); + } + + public void updateMemberCash(MjonPayVO mjonPayVO) throws Exception { + insert("mjonPayDAO.updateMemberCash", mjonPayVO); + } + + public void updateMemberPoint(MjonPayVO mjonPayVO) throws Exception { + insert("mjonPayDAO.updateMemberPoint", mjonPayVO); + } + + public void insertPoint(MjonPayVO mjonPayVO) throws Exception { + insert("mjonPayDAO.insertPoint", mjonPayVO); + + } + + public MjonPayVO selectPayVO(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPayVO", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectPointList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPointList", mjonPayVO); + } + + // 가상계좌(세틀뱅크) 입금내역 조회 by pk + public StVcVO selectVacsByPk(StVcVO stVcVO) throws Exception{ + return (StVcVO)select("mjonPayDAO.selectVacsByPk", stVcVO); + } + + // 가상계좌(세틀뱅크) 회원ID 조회 by 입금자명 + public StVcVO selectMberIdByIacctNm(StVcVO stVcVO) throws Exception{ + return (StVcVO)select("mjonPayDAO.selectMberIdByIacctNm", stVcVO); + } + + // 가상계좌(세틀뱅크) 충전내역 요청여부 by 가상계좌입금정보 + public StVcVO selectVaChargeByVc(StVcVO stVcVO) throws Exception{ + return (StVcVO)select("mjonPayDAO.selectVaChargeByVc", stVcVO); + } + + // 가상계좌(세틀뱅크) 입금 자동충전 충전내역 등록 + public void insertVaCharge(StVcVO stVcVO) throws Exception{ + insert("mjonPayDAO.insertVaCharge", stVcVO); + } + + // 가상계좌(세틀뱅크) 입금 자동충전 충전내역 수정 + public void updateVaCharge(StVcVO stVcVO) throws Exception{ + update("mjonPayDAO.updateVaCharge", stVcVO); + } + + public MjonPayVO selectPointVO(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPointVO", mjonPayVO); + } + + public void deletePoint(MjonPayVO mjonPayVO) throws Exception{ + update("mjonPayDAO.deletePoint", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectUsedCashTotCnt(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectUsedCashTotCnt", mjonPayVO); + } + + //전용계좌 문자발송 로그 기록 입력 + public int insertVaMsgLogInfo(MjonVaMsgLogVO mjonVaMsgLogVO) throws Exception{ + return update("mjonPayDAO.insertVaMsgLogInfo", mjonVaMsgLogVO); + } + + //일일 전용계좌 문자발성 건수 불러오기 + public MjonVaMsgLogVO selectMyAcctSendCnt(MjonVaMsgLogVO mjonVaMsgLogVO) throws Exception { + return (MjonVaMsgLogVO) select("mjonPayDAO.selectMyAcctSendCnt", mjonVaMsgLogVO); + } + + // 모바일(KG 모빌리언스) 인서트 + public void insertKgm(MjonPayVO mjonPayVO) throws Exception{ + insert("mjonPayDAO.insertKgm", mjonPayVO); + } + + // 모바일(KG 모빌리언스) VO + public MjonPayVO selectKgmVO(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectKgmVO", mjonPayVO); + } + + public void insertPointUse(MjonPayVO mjonPayVO) throws Exception { + insert("mjonPayDAO.insertPointUse", mjonPayVO); + + } + + @SuppressWarnings("unchecked") + public List selectPointUseList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPointUseList", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public MjonPayVO selectPointUseDetail(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPointUseDetail", mjonPayVO); + } + + public void updatePointUse(MjonPayVO mjonPayVO) throws Exception{ + update("mjonPayDAO.updatePointUse", mjonPayVO); + } + + public String selectSumPayMoney(String userId) throws Exception{ + return (String) select("mjonPayDAO.selectSumPayMoney", userId); + } + + public String selectAgentSumPayMoney(String userId) throws Exception{ + return (String) select("mjonPayDAO.selectAgentSumPayMoney", userId); + } + + public String selectSumPoint(String userId) throws Exception{ + return (String) select("mjonPayDAO.selectSumPoint", userId); + } + + @SuppressWarnings("unchecked") + public List selectPayListForRefund(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayListForRefund", mjonPayVO); + } + + public int updateMjonPgStatus(RefundVO refundVO) throws Exception { + return update("mjonPayDAO.updateMjonPgStatus", refundVO); + } + + @SuppressWarnings("unchecked") + public List selectPayDayChart(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayDayChart", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectPayMonthChart(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayMonthChart", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectPayDayChartDashboard(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayDayChartDashboard", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectPayMonthChartDashboard(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectPayMonthChartDashboard", mjonPayVO); + } + + public MjonPayVO selectPayYearChart(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPayYearChart", mjonPayVO); + } + + public int selectMemerPayCount(String userId) throws Exception{ + return (int) select("mjonPayDAO.selectMemerPayCount", userId); + } + + public int selectPayCountByTid(String tid) throws Exception{ + return (int) select("mjonPayDAO.selectPayCountByTid", tid); + } + + public MjonPayVO selectPrvMonthUseCash(String mberId) throws Exception{ + return (MjonPayVO)select("mjonPayDAO.selectPrvMonthUseCash", mberId); + } + + public int updateMjonPgStatusAfterPay(MjonPayVO mjonPayVO) throws Exception { + return update("mjonPayDAO.updateMjonPgStatusAfterPay", mjonPayVO); + } + + //첫결제 정보 불러오기 + public MjonPayVO selectFrstPayInfoByUserId(String userId) throws Exception{ + return (MjonPayVO) select("mjonPayDAO.selectFrstPayInfoByUserId", userId); + } + + //첫결제 충전 포인트 정보 불러오기 + public MjonPayVO selectFrstPointInfoByUserId(MjonPayVO mjonPayVO) throws Exception{ + return (MjonPayVO) select("mjonPayDAO.selectFrstPointInfoByUserId", mjonPayVO); + } + + public MjonPayVO selectPayInfoByMoid(String moid) throws Exception{ + return (MjonPayVO) select("mjonPayDAO.selectPayInfoByMoid", moid); + } + + public String selectOneYearPayCnt(String userId) throws Exception{ + return (String)select("mjonPayDAO.selectOneYearPayCnt", userId); + } + + + public int selectCashPointSendIdCnt(String userId) throws Exception{ + return (int) select("mjonPayDAO.selectCashPointSendIdCnt", userId); + } + + public MjonPayVO selectCashPoint(String userId) throws Exception{ + return (MjonPayVO) select("mjonPayDAO.selectCashPoint", userId); + } + + public void insertMjCashPointSend(MjonPayVO mjonPayVO) throws Exception{ + insert("mjonPayDAO.insertMjCashPointSend", mjonPayVO); + } + + public String selectCashPointUniqId(String mberId) throws Exception{ + return (String)select("mjonPayDAO.selectCashPointUniqId", mberId); + } + + @SuppressWarnings("unchecked") + public List selectCashPointSendList(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectCashPointSendList", mjonPayVO); + } + + // 문자 발송단가 할인여부 + public int selectMsgSalePriceCnt(String userId) throws Exception{ + return (int) select("mjonPayDAO.selectMsgSalePriceCnt", userId); + } + + @SuppressWarnings("unchecked") + public List selectUsedCashWithKakaoTotCnt(MjonPayVO mjonPayVO) throws Exception{ + return (List)list("mjonPayDAO.selectUsedCashWithKakaoTotCnt", mjonPayVO); + } + + @SuppressWarnings("unchecked") + public List selectCashInfoList(String userId) throws Exception{ + return (List)list("mjonPayDAO.selectCashInfoList", userId); + } + + @SuppressWarnings("unchecked") + public List selectPointInfoList(String userId) throws Exception{ + return (List)list("mjonPayDAO.selectPointInfoList", userId); + } + + public String selectPointLatestOnePoint(String userId) { + + return (String) select("mjonPayDAO.selectPointLatestOnePoint", userId); + + } + + //누적 사용금액 조회 (캐시 테이블에서 현재까지 사용된 금액 합산 - 캐시 테이블에서 "-"로 사용된 금액만 합산) + public String selectTotalSumCashForAfterPay(String userId) throws Exception{ + + String result = ""; + + try { + + result = (String) select("mjonPayDAO.selectTotalSumCashForAfterPay", userId); + + } catch (Exception e) { + System.out.println("selectTotalSumCashForAfterPay DAO Error!!! " + e); + } + + return result; + + } + + + //누적 사용 포인트 조회 (포인트 테이블에서 현재까지 사용된 포인트 합산 - 회원 포인트 정보 업데이트시 사용되는 쿼리 이용) + public String selectTotalSumPointForAfterPay(String userId) throws Exception{ + + String result = ""; + + try { + + result = (String) select("mjonPayDAO.selectTotalSumPointForAfterPay", userId); + + } catch (Exception e) { + System.out.println("selectTotalSumPointForAfterPay DAO Error!!! " + e); + } + + return result; + + } + + //누적 납부금액 조회 (후불회원이 사용금액을 실 납부한 금액 합산 - 미납 금액 제외한 총 합산 금액) + public String selectTotSumPaymentAfterPay(String userId) throws Exception{ + + String result = ""; + + try { + + result = (String) select("mjonPayDAO.selectTotSumPaymentAfterPay", userId); + + } catch (Exception e) { + System.out.println("selectTotSumPaymentAfterPay DAO Error!!! " + e); + } + + return result; + + } + +} diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml index 5f833551..069661d3 100644 --- a/src/main/resources/egovframework/spring/com/context-security.xml +++ b/src/main/resources/egovframework/spring/com/context-security.xml @@ -1,94 +1,94 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp index b07f8d40..4bae6b51 100644 --- a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp +++ b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp @@ -1,483 +1,483 @@ -<%-- - Class Name : EgovNoticeRegist.jsp - Description : 게시물 생성 화면 - Modification Information - - 수정일 수정자 수정내용 - ------- -------- --------------------------- - 2009.03.24 이삼섭 최초 생성 - 2011.08.31 JJY 경량환경 버전 생성 - - author : 공통서비스 개발팀 이삼섭 - since : 2009.03.24 ---%> -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> -<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> - - - - - - - -<%-- --%> - - - - -<c:out value='${bdMstr.bbsNm}' /> - 글 등록 - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

- 글 등록 (${bdMstr.menuNm})

-

게시판 글을 생성/수정 할 수 있습니다.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 공지여부/공지기간 - - - - - - - - - - - - -
- - - 등록일 : - - 2000-01-05 (형식) -
- 총 - - 123 (형식) -
- 등록자 : - - 아무개 (형식) -
- ${bdMstr.bbsTyCode eq 'BBST07' ? "항목" : bdMstr.menuNo eq '9510000' ? "질문" : "제목"} - - - - - -
- ${brdMstrVO.menuNo eq '9510000' ? "답변" : "내용"} - - - - -
기간 - - - - - - 시 - 분 -   ~   - - - - - 시 - 분 -
주기 - -
시기 - -
방법(링크) - -
담당부서 - -
파일 첨부 -
- - - - - - - - - - - - - - - -
파일명크기등록일시삭제
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
파일명크기등록일시삭제
- - ${fileList.orignlFileNm} - - "> - - - - - -
-
-
-
    -
  • -

    최대 ${bdMstr.posblAtchFileNumber}개 | 50MB제한

    -
  • -
  • -

    1개 | 72.01KB

    -
  • -
-
-
- -
-
첨부이미지 링크 - - - - ${result.fmsLink} - (${result.orignlFileNm}) -
-
-
-
-
첨부다운로드 링크 - - - ${result.fmsDownLink} - ( - ${result.orignlFileNm} - ) -
-
-
-
최종수정일 - ${fmsFileList[0].moddt } -
작성자 - ${fmsFileList[0].registerId } -
- - - - / - - - - - - - 시 - 분 -   ~   - - - - - 시 - 분 -
-
- - - - - - - - - -
-
-
-
- - - - - +<%-- + Class Name : EgovNoticeRegist.jsp + Description : 게시물 생성 화면 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2009.03.24 이삼섭 최초 생성 + 2011.08.31 JJY 경량환경 버전 생성 + + author : 공통서비스 개발팀 이삼섭 + since : 2009.03.24 +--%> +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> + + + + + + + +<%-- --%> + + + + +<c:out value='${bdMstr.bbsNm}' /> - 글 등록 + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

- 글 등록 (${bdMstr.menuNm})

+

게시판 글을 생성/수정 할 수 있습니다.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 공지여부/공지기간 + + + + + + + + + + + + +
+ + + 등록일 : + + 2000-01-05 (형식) +
+ 총 + + 123 (형식) +
+ 등록자 : + + 아무개 (형식) +
+ ${bdMstr.bbsTyCode eq 'BBST07' ? "항목" : bdMstr.menuNo eq '9510000' ? "질문" : "제목"} + + + + + +
+ ${brdMstrVO.menuNo eq '9510000' ? "답변" : "내용"} + + + + +
기간 + + + + + + 시 + 분 +   ~   + + + + + 시 + 분 +
주기 + +
시기 + +
방법(링크) + +
담당부서 + +
파일 첨부 +
+ + + + + + + + + + + + + + + +
파일명크기등록일시삭제
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
파일명크기등록일시삭제
+ + ${fileList.orignlFileNm} + + "> + + + + + +
+
+
+
    +
  • +

    최대 ${bdMstr.posblAtchFileNumber}개 | 50MB제한

    +
  • +
  • +

    1개 | 72.01KB

    +
  • +
+
+
+ +
+
첨부이미지 링크 + + + + ${result.fmsLink} + (${result.orignlFileNm}) +
+
+
+
+
첨부다운로드 링크 + + + ${result.fmsDownLink} + ( + ${result.orignlFileNm} + ) +
+
+
+
최종수정일 + ${fmsFileList[0].moddt } +
작성자 + ${fmsFileList[0].registerId } +
+ + + + / + + + + + + + 시 + 분 +   ~   + + + + + 시 + 분 +
+
+ + + + + + + + + +
+
+
+
+ + + + + diff --git a/src/main/webapp/WEB-INF/jsp/layout/popLayout.jsp b/src/main/webapp/WEB-INF/jsp/layout/popLayout.jsp index 352d51c8..a142c581 100644 --- a/src/main/webapp/WEB-INF/jsp/layout/popLayout.jsp +++ b/src/main/webapp/WEB-INF/jsp/layout/popLayout.jsp @@ -1,26 +1,26 @@ -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> - -<%@ taglib prefix="compress" uri="http://htmlcompressor.googlecode.com/taglib/compressor"%> - - - - - - - - - - - - - - - - - - - - +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> + +<%@ taglib prefix="compress" uri="http://htmlcompressor.googlecode.com/taglib/compressor"%> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp index d414dd15..72619caf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp @@ -317,6 +317,13 @@ function excelFileChange(file) { fn_errorPopClean(); // 에러 popup 초기화 fn_rowCntInit(); if (file) { + // 파일 크기 체크 (20MB) + const maxSize = 20 * 1024 * 1024; // 20MB in bytes + if (file.size > maxSize) { + alert('파일 크기는 20MB를 초과할 수 없습니다.'); + return; + } + fn_loadAddActive(); var reader = new FileReader(); var extension = file.name.split('.').pop().toLowerCase(); @@ -506,7 +513,7 @@ $(document).on("click", "#duplicationChkAll", function(e) {
-

- 주소록은 한 번에 최대 30만건까지 등록(EXCEL파일, 최대용량 3MB) 가능합니다.

+

- 주소록은 한 번에 최대 30만건까지 등록(EXCEL파일, 최대용량 20MB) 가능합니다.

- 엑셀 파일에 비밀번호 설정, 제한된 보기, 수식 등이 설정되어 있는 경우 업로드가 불가합니다.

- 구분선(|), 역슬래시(\, ₩), 큰따옴표(") 등 발송불가 특수문자는 저장되지 않습니다.

- 이름 200byte, [*1*]~[*4*] 200byte, 메모 250byte까지 입력 가능합니다.

diff --git a/src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticePhotoInqire.jsp b/src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticePhotoInqire.jsp index 1977d573..0f552ec2 100644 --- a/src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticePhotoInqire.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/cop/bbs/EgovNoticePhotoInqire.jsp @@ -1,302 +1,302 @@ -<%-- - Class Name : EgovNoticeInqire.jsp - Description : (사용자)게시물 조회 화면 - Modification Information - - 수정일 수정자 수정내용 - ---------- -------- --------------------------- - 2009.03.23 이삼섭 최초 생성 - 2009.06.26 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) - 2011.08.31 JJY 경량환경 버전 생성 - 2013.05.23 이기하 상세보기 오류수정 - - author : 공통서비스 개발팀 이삼섭 - since : 2009.03.23 ---%> -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> -<%pageContext.setAttribute("crlf", "\r\n"); %> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
    -
  • -
  • -
  • -
  • -
  • -
  • -
- -
-
-

${brdMstrVO.bbsNm}

-
-
-
-
-

-
    -
  • -
  • 운영자<%-- --%>
  • -
-
-
-
- <%--
- - - ?atchFileId=&fileSn=' alt="_"> - - -
--%> - -
- <%--
- - -
    -
  • - - -
  • -
-
- - - -
--%> -
- -
-
-
    -
  • -
  • -
-
-
-
-
- -
-
-
-
-
- -
- - - - - -
-
    -
  • -
    이전글
    -
    - - - 이전글이 없습니다. - - - - - - - - - - - - -
    -
  • -
  • -
    다음글
    -
    - - - 다음글이 없습니다. - - - - - - - - - - - - -
    -
  • -
-
-
-
- -
- - - +<%-- + Class Name : EgovNoticeInqire.jsp + Description : (사용자)게시물 조회 화면 + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2009.03.23 이삼섭 최초 생성 + 2009.06.26 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) + 2011.08.31 JJY 경량환경 버전 생성 + 2013.05.23 이기하 상세보기 오류수정 + + author : 공통서비스 개발팀 이삼섭 + since : 2009.03.23 +--%> +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
    +
  • +
  • +
  • +
  • +
  • +
  • +
+ +
+
+

${brdMstrVO.bbsNm}

+
+
+
+
+

+
    +
  • +
  • 운영자<%-- --%>
  • +
+
+
+
+ <%--
+ + + ?atchFileId=&fileSn=' alt="_"> + + +
--%> + +
+ <%--
+ + +
    +
  • + + +
  • +
+
+ + + +
--%> +
+ +
+
+
    +
  • +
  • +
+
+
+
+
+ +
+
+
+
+
+ +
+ + + + + +
+
    +
  • +
    이전글
    +
    + + + 이전글이 없습니다. + + + + + + + + + + + + +
    +
  • +
  • +
    다음글
    +
    + + + 다음글이 없습니다. + + + + + + + + + + + + +
    +
  • +
+
+
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomView.jsp b/src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomView.jsp index 724cc51a..5321c582 100644 --- a/src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/custom/MsgCustomView.jsp @@ -1,482 +1,482 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> - - - - - - -문자온 - - - - - -
- - -
-
-
- -
- -
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
- - - - -
- -
- - - - - - - value="${searchVO.categoryCode}" - - /> - -
-
-
- -
- - -
- -
-
-
- All - BEST - - - -
-
- 전체 - - # - -
-
-
-
-
-
- -
- -
-
-

제작방법 및 이용안내

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
제작방법 및 이용안내에 대한 구분, 용도, 가격, 제공방법 표
구분용도가격(VAT별도)구분
문자온 샘플 수정(글자, 색상, 폰트 등)문자/카톡${customSamplePrice}원내보관함/카톡/이메일
이미지 편집(첨부이미지 1장)문자/카톡${customEditPrice}원내보관함/카톡/이메일
이미지 편집(첨부이미지 3장이하)문자/카톡${customEdit3Price}원내보관함/카톡/이메일
텍스트 단순수정문자/카톡${customTextPrice}원내보관함/카톡/이메일
-
-
- -

유의사항

-
-
    -
  • -

    - 모든 완성본은 1장만 제공됩니다.

    -

    - 제작 완료 후 추가 수정 시 별도 비용이 발생됩니다.

    -
  • -
  • -

    - 제작기간은 영업일 기준 1~3일 정도 소요됩니다.

    -

    - 제작 완료된 이미지는 내보관함에 자동 저장됩니다.

    -
  • -
  • -

    - PSD 원본 파일은 제공하지 않습니다.

    -

    - 제작비용은 신청 시 즉시 차감됩니다.

    -
  • -
-
-
-
-
-
-

샘플 제작 요청방법

- 전문 디자이너가 직접 제작하는 고퀄리티 맞춤제작 서비스 -
-
    -
  1. -
    STEP 01
    -
    문자온 문자 샘플 목록에서
    원하는 이미지 선택
    -
  2. -
  3. -
    STEP 02
    -
    작업 요청내역 입력 후
    신청하기 버튼 클릭
    -
  4. -
  5. -
    STEP 03
    -
    내보관함에서
    완성된 이미지 확인(문자, 카톡 등)
    -
  6. -
-
-
-
- - - -
- - - -
-
-
- · 기간 -
- - ~ - -
- -
-
- - - - -
-
-
-
-
-
- - -
-
- - -
-
- -
- -
- - - +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> + + + + + + +문자온 + + + + + +
+ + +
+
+
+ +
+ +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ + + + +
+ +
+ + + + + + + value="${searchVO.categoryCode}" + + /> + +
+
+
+ +
+ + +
+ +
+
+
+ All + BEST + + + +
+
+ 전체 + + # + +
+
+
+
+
+
+ +
+ +
+
+

제작방법 및 이용안내

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
제작방법 및 이용안내에 대한 구분, 용도, 가격, 제공방법 표
구분용도가격(VAT별도)구분
문자온 샘플 수정(글자, 색상, 폰트 등)문자/카톡${customSamplePrice}원내보관함/카톡/이메일
이미지 편집(첨부이미지 1장)문자/카톡${customEditPrice}원내보관함/카톡/이메일
이미지 편집(첨부이미지 3장이하)문자/카톡${customEdit3Price}원내보관함/카톡/이메일
텍스트 단순수정문자/카톡${customTextPrice}원내보관함/카톡/이메일
+
+
+ +

유의사항

+
+
    +
  • +

    - 모든 완성본은 1장만 제공됩니다.

    +

    - 제작 완료 후 추가 수정 시 별도 비용이 발생됩니다.

    +
  • +
  • +

    - 제작기간은 영업일 기준 1~3일 정도 소요됩니다.

    +

    - 제작 완료된 이미지는 내보관함에 자동 저장됩니다.

    +
  • +
  • +

    - PSD 원본 파일은 제공하지 않습니다.

    +

    - 제작비용은 신청 시 즉시 차감됩니다.

    +
  • +
+
+
+
+
+
+

샘플 제작 요청방법

+ 전문 디자이너가 직접 제작하는 고퀄리티 맞춤제작 서비스 +
+
    +
  1. +
    STEP 01
    +
    문자온 문자 샘플 목록에서
    원하는 이미지 선택
    +
  2. +
  3. +
    STEP 02
    +
    작업 요청내역 입력 후
    신청하기 버튼 클릭
    +
  4. +
  5. +
    STEP 03
    +
    내보관함에서
    완성된 이미지 확인(문자, 카톡 등)
    +
  6. +
+
+
+
+ + + +
+ + + +
+
+
+ · 기간 +
+ + ~ + +
+ +
+
+ + + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/web/msgdata/include/msgDataIncludeExcel.jsp b/src/main/webapp/WEB-INF/jsp/web/msgdata/include/msgDataIncludeExcel.jsp index 5fc5e078..72aa8d0d 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgdata/include/msgDataIncludeExcel.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgdata/include/msgDataIncludeExcel.jsp @@ -1,904 +1,904 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> - - - - - - -
- -
- - - -
- -
- - - -
- - - - - - - - - -
-
-

- 주소록은 한 번에 최대 30만건까지 등록(EXCEL파일, 최대용량 3MB) 가능합니다.

-

- 엑셀 파일에 비밀번호 설정, 제한된 보기, 수식 등이 설정되어 있는 경우 업로드가 불가합니다.

-

- 구분선(|), 역슬래시(\, ₩), 큰따옴표(") 등 발송불가 특수문자는 저장되지 않습니다.

-

- 이름 200byte, [*1*]~[*4*] 200byte, 메모 250byte까지 입력 가능합니다.

-

- 주소록 등록이 어려우신 경우에는 주소록 입력대행 메뉴를 이용하실 수 있습니다.

-
-
- -
-
- - -
- - - - - - - - - - - - -
엑셀입력 표
-
-
-

파일 붙여넣기마우스로 엑셀, TXT파일을 여기에 끌어다 놓으세요

-
- - -
-
-
- - -
-

- 총 0건 - / 중복 0건 - / 오류 0건 - -

- - - - -

- -
- - - - -
- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- -
-
- -
- -
-
-
-
- - -
- -
-
- - - - - - - - - - - - - +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + +
+ +
+ + + +
+ +
+ + + +
+ + + + + + + + + +
+
+

- 주소록은 한 번에 최대 30만건까지 등록(EXCEL파일, 최대용량 3MB) 가능합니다.

+

- 엑셀 파일에 비밀번호 설정, 제한된 보기, 수식 등이 설정되어 있는 경우 업로드가 불가합니다.

+

- 구분선(|), 역슬래시(\, ₩), 큰따옴표(") 등 발송불가 특수문자는 저장되지 않습니다.

+

- 이름 200byte, [*1*]~[*4*] 200byte, 메모 250byte까지 입력 가능합니다.

+

- 주소록 등록이 어려우신 경우에는 주소록 입력대행 메뉴를 이용하실 수 있습니다.

+
+
+ +
+
+ + +
+ + + + + + + + + + + + +
엑셀입력 표
+
+
+

파일 붙여넣기마우스로 엑셀, TXT파일을 여기에 끌어다 놓으세요

+
+ + +
+
+
+ + +
+

+ 총 0건 + / 중복 0건 + / 오류 0건 + +

+ + + + +

+ +
+ + + + +
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ +
+ +
+
+
+
+ + +
+ +
+
+ + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp index e1f020e5..7756c219 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp @@ -1,867 +1,867 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - - - -
- - - - - - -
- -
- -
    -
  • -
  • -
  • -
  • -
  • -
- - -
-
-

요금안내/견적내기

- -
- -
-
    -
  • - -
  • -
  • - -
  • -
-
- - -
-
-

- 문자이미지 문자 -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
구분특징가격
단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는그림메시지(이미지 최대 3장 첨부 가능) 1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원/ 3장 : ${picturePrice3}
- * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. - - - - - -

알림톡 아이콘 이미지 알림톡

- - - - - - - - - - - - - - - - - - - - -
구분특징가격
알림톡카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지
(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)
1장 : ${kakaoAtPrice}
- * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. - -

팩스 아이콘 이미지 팩스

- - - - - - - - - - - - - - - - - - - - -
구분특징(전송가능확장자)가격
팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, gul)1매 : ${faxPrice}
- -

그림문자 맞춤제작 이미지 그림문자 맞춤제작

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
구분가격
문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
이미지 편집(첨부이미지 1장)${customEditPrice}
이미지 편집(첨부이미지 3장이하)${customEdit3Price}
텍스트 단순수정${customTextPrice}
- * 텍스트 단순수정 요청은 맞춤제작이 완료된 그림문자의 수정 시에만 가능합니다. - - -
-
- - - -
-
    -
  • -
    -
    - 요금안내 - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    요금 안내
    구분특징금액
    단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
    장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
    그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는 그림메시지(이미지 최대 3장 첨부 가능)1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원 / 3장 : ${picturePrice3}
    카카오(알림톡)카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)${kakaoAtPrice}
    팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, htm, html, gul)${faxPrice}
    맞춤제작문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
    맞춤제작이미지 편집(첨부이미지 1장)${customEditPrice}
    맞춤제작이미지 편집(첨부이미지 3장이하)${customEdit3Price}
    맞춤제작텍스트 단순수정${customTextPrice}
    -
    -
  • -
-
-

일반정보

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
제목 - - -
수신자(기업명) - - -
담당자(성명) - - -
연락처 - - -
발행일 -
- -
-
- -

품목정보

- - - - - - - - - - - - - - - - - - - - -
구분 - - - - -

-
건수 - - -

-
- -
-
-
-
- -
-
- -
- -
-
- - -
-
품목
-
단가(원)
-
건수(건)
-
공급가액(원)
-
세액(부가세)
-
금액(원)
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
공급가액세액(부가세)합계비고
- - - - - - - - -
-
- -
- -
-
-
- -
-
- -
- -
-
- -
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + + +
+ + + + + + +
+ +
+ +
    +
  • +
  • +
  • +
  • +
  • +
+ + +
+
+

요금안내/견적내기

+ +
+ +
+
    +
  • + +
  • +
  • + +
  • +
+
+ + +
+
+

+ 문자이미지 문자 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분특징가격
단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는그림메시지(이미지 최대 3장 첨부 가능) 1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원/ 3장 : ${picturePrice3}
+ * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. + + + + + +

알림톡 아이콘 이미지 알림톡

+ + + + + + + + + + + + + + + + + + + + +
구분특징가격
알림톡카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지
(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)
1장 : ${kakaoAtPrice}
+ * 텍스트 용량(Byte)에 대한 안내 : 한글2Byte, 영문·숫자 1Byte를 차지. + +

팩스 아이콘 이미지 팩스

+ + + + + + + + + + + + + + + + + + + + +
구분특징(전송가능확장자)가격
팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, gul)1매 : ${faxPrice}
+ +

그림문자 맞춤제작 이미지 그림문자 맞춤제작

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분가격
문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
이미지 편집(첨부이미지 1장)${customEditPrice}
이미지 편집(첨부이미지 3장이하)${customEdit3Price}
텍스트 단순수정${customTextPrice}
+ * 텍스트 단순수정 요청은 맞춤제작이 완료된 그림문자의 수정 시에만 가능합니다. + + +
+
+ + + +
+
    +
  • +
    +
    + 요금안내 + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    요금 안내
    구분특징금액
    단문(SMS)90Byte 이하 단문 메시지(이미지 첨부 불가)${shortPrice}
    장문(LMS)91~2,000Byte 이하 장문메시지(이미지 첨부 불가)${longPrice}
    그림문자(MMS)2,000Byte 이하 문자 및 이미지를 포함하는 그림메시지(이미지 최대 3장 첨부 가능)1장 : ${picturePrice}원 / 2장 : ${picturePrice2}원 / 3장 : ${picturePrice3}
    카카오(알림톡)카카오톡을 통해 친구 추가 여부와 관계 없이 휴대폰 번호로 발송이 가능한 정보성 메시지(1,000자 이하의 텍스트 및 이미지 중 카카오 사전 승인 건에 한하여 발송 가능)${kakaoAtPrice}
    팩스전송 가능 파일(hwp, pdf, ppt, xls, xlsx, doc, jpg, jpeg, bmp, txt, gif, hwpml, tif, htm, html, gul)${faxPrice}
    맞춤제작문자온 샘플 수정(글자, 색상, 폰트 등)${customSamplePrice}
    맞춤제작이미지 편집(첨부이미지 1장)${customEditPrice}
    맞춤제작이미지 편집(첨부이미지 3장이하)${customEdit3Price}
    맞춤제작텍스트 단순수정${customTextPrice}
    +
    +
  • +
+
+

일반정보

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
제목 + + +
수신자(기업명) + + +
담당자(성명) + + +
연락처 + + +
발행일 +
+ +
+
+ +

품목정보

+ + + + + + + + + + + + + + + + + + + + +
구분 + + + + +

+
건수 + + +

+
+ +
+
+
+
+ +
+
+ +
+ +
+
+ + +
+
품목
+
단가(원)
+
건수(건)
+
공급가액(원)
+
세액(부가세)
+
금액(원)
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
공급가액세액(부가세)합계비고
+ + + + + + + + +
+
+ +
+ +
+
+
+ +
+
+ +
+ +
+
+ +
diff --git a/src/main/webapp/js/MJUtill.js b/src/main/webapp/js/MJUtill.js index faace197..78c0d0f8 100644 --- a/src/main/webapp/js/MJUtill.js +++ b/src/main/webapp/js/MJUtill.js @@ -1,974 +1,974 @@ -/** - * 휴대폰번호 유효성 체크 - * true, false 반환 - * 대시 유무 상관없음 - */ -function checkHpNum(str) { - - var regExp = /^(050[2345678]{1}|01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; - //var regExp = /^(01[016789]{1}|070|02|0[3-9]{1}[0-9]{1})-?[0-9]{3,4}-?[0-9]{4}$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 - return regExp.test(str); -} - -/** - * 휴대폰번호만 유효성 체크 - * true, false 반환 - * 대시 유무 상관없음 - */ -function checkOnlyHpNum(str) { - - //var regExp = /^(050[234567]{1}|01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; - var regExp = /^(01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 - return regExp.test(str); -} - -/** - * 팩스 번호 유효성 체크 - * true, false 반환 - * 앞 3자리를 체크 함 - * -- 전국 지역번호 - * 02 서울특별시 - 031 경기도 - 032 인천광역시 - 033 강원도 - 041 충청남도 - 042 대전광역시 - 043 충청북도 - 044 세종특별자치시 - 051 부산광역시 - 052 울산광역시 - 053 대구광역시 - 054 경상북도 - 055 경상남도 - 061 전라남도 - 062 광주광역시 - 063 전라북도 - 064 제주특별자치도 - - -- 타사부가번호 - 030* - 050* - 060 - 070 - 080 - 1** - - 위 번호로 시작하는 팩스 번호만 허용함. - */ -function checkFaxNum(str) { - str = removeDash(str); - var subNum = str.substring(0,3); - var regExp = /^(02[0-9]{1}|030|050|060|070|080|0[3-6]{1}[1-5]{1}|1[0-9]{1}[0-9]{1})$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 - return regExp.test(subNum); -} - -/* - * 일반전화 유효성 체크 - * true, false 반환 - * - * */ -function checkNorPhoneNum(str){ - - var regExp = /^(02|0[3-9]{1}[0-9]{1})-?[0-9]{3,4}-?[0-9]{4}$/; - - /** - * 기간통신사업자 공통 부가서비스 번호 체크 - * 번호 사업자 - 1588,1577,1899 KT - 1544,1644,1661,1800 ,1833 LG유플러스 - 1566,1600,1670 SK브로드밴드 - 1688,1666 온세텔레콤 - 1599 SK텔링크 - 1877 한국케이블텔레콤 - 1855 CJ헬로비전 - 1661 alleh KT - * - * */ - - if(str.substring(0,2) == "15"){ - - regExp = /^(15[0-9]{2})-?[0-9]{4}$/; - - }else if(str.substring(0,2) == "16"){ - - regExp = /^(16[0-9]{2})-?[0-9]{4}$/; - - }else if(str.substring(0,2) == "18"){ - - regExp = /^(18[0-9]{2})-?[0-9]{4}$/; - - } - - return regExp.test(str); -} - -/* - * 일반전화 / 핸드폰 번호 종류 확인 - * true, false 반환 - * - * */ -function checkTelHpType(str){ - - var subCall = str.substring(0,3); // 전화번호 앞 3자리 받아오기 - var strType = ""; // 결과 반환 - - if(subCall != '010' - && subCall != '011' - && subCall != '016' - && subCall != '017'){//일반전화 번호이면 - - strType = "Tel"; - - }else{ - - strType = "Hp"; - } - - return strType; -} - - -/** - * 휴대폰번호 대시('-') 제거 - */ -function removeDash(str) { - var regExp = new RegExp('-', 'g'); - return str.replace(regExp, ''); -} - -/** - * 휴대폰번호 대시('-') 추가 - * 대시 유무 상관없음 - * 유효성 맞지 않을시 변환안됨. - */ -function addDash(str) { - return str.replace(/(^01[016789]{1}|070)([0-9]{3}|[0-9]{4})([0-9]{4})$/,"$1-$2-$3").replace("--", "-"); -} - -/** - * ReplaceAll (by javascript prototype) - * 정규식 패턴에서 \는 두 개 사용 - */ -String.prototype.replaceAll = function(pattern, changeString) { - var regExp = new RegExp(pattern, 'g'); - return this.replace(regExp, changeString); -}; - -/** - * 이메일 유효성 체크 - * true, false 반환 - * - */ -function checkEmail(str) { - var regExp = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/; - return regExp.test(str); -} - -/** - * XSS 체크하기 - * - * - */ - -function XSSCheck(str, level) { - if (level == undefined || level == 0) { - str = str.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,""); - } else if (level != undefined && level == 1) { - str = str.replace(/\/g, ">"); - } - return str; -} - - -//숫자 천단위 콤마 찍어주기 -function numberWithCommas(x) { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); -} - -function comma(num){ - var len, point, str; - num = num + ""; - point = num.length % 3; - len = num.length; - str = num.substring(0, point); - while (point < len) { - if (str != "") str += ","; - str += num.substring(point, point + 3); - point += 3; - } - return str; -} - - -function totalPriceSum(totRows){ - - var contents = $('#smsTxtArea').val(); //입력 문자 내용 - var msgType = conTypeCheck(contents); //입력 문자 길이 체크 - var collNumCnt = parseInt(totRows); //받는사람 건수 - var price = 0; //개별 건수 금액 - var totalPrice = 0; //전체 금액 - //var strDot = []; - //var subPrice = ""; - //var spPrice = ""; - var totalStr = "0"; //전체 합계 금액 - var userMoney = $('#hdUserMoney').text(); //헤더 영역 보유 금액 불러오기 - var msgCnt = 0; //발송 가능 문자 건수 - var imgCnt = $("#imgCnt").val(); // 현재 페이지에 첨부된 이미지 갯수 - - if(!userMoney > 0){ - - userMoney = 0; - - } - //헤더 영역 보유 금액 콤마 문자 제거 - if(userMoney != ''){ - - userMoney = userMoney.replaceAll("," , ""); - - } - - /*if(msgType == "P"){//그림문자 - - //그림 이미지 갯수에 따른 금액 계산 - if(imgCnt > 2){//그림 3장일경우 - price = parseFloat($('#p3Price').val()); - }else if(imgCnt > 1){//그림 2장일경우 - price = parseFloat($('#p2Price').val()); - }else{//그림 1장일 경우 - price = parseFloat($('#pPrice').val()); - } - - msgCnt = parseFloat(userMoney) / price; - - }else if(msgType == "M"){//장문 문자 - - price = parseFloat($('#mPrice').val()); - msgCnt = parseFloat(userMoney) / price; - - }else{//단문문자 - - price = parseFloat($('#sPrice').val()); - msgCnt = parseFloat(userMoney) / price; - - }*/ - - //금액 소수점 제거 하여 적용 20220623 소수점 버림 처리 - if(msgType == "P"){//그림문자 - - //그림 이미지 갯수에 따른 금액 계산 - if(imgCnt > 2){//그림 3장일경우 - price = $('#p3Price').val(); - }else if(imgCnt > 1){//그림 2장일경우 - price = $('#p2Price').val(); - }else{//그림 1장일 경우 - price = $('#pPrice').val(); - } - - msgCnt = userMoney / price; - - }else if(msgType == "M"){//장문 문자 - - price = $('#mPrice').val(); - msgCnt = userMoney / price; - - }else{//단문문자 - - price = $('#sPrice').val(); - msgCnt = userMoney / price; - - } - - totalPrice = price * collNumCnt; - - // 소수점 첫째자리 까지 표시 - totalPrice = totalPrice.toFixed(1); - - if(totalPrice > 0){ - - //totalStr = totalPrice.toFixed(2); - totalStr = totalPrice; - - } - - //개별 문자 단가 파라미터에 입력 - $('#eachPrice').val(numberWithCommas(price)); - - - //결제금액 합계 파라이터에 입력 - $('#totPrice').val(numberWithCommas(totalStr)); - - //결제금액 합계 화면에 표시 - $('#totalPriceTxt').text(numberWithCommas(totalStr)); - - //현재 문자 전송 가능 갯수 표시 - $('.nowMsgCnt').text(numberWithCommas(msgCnt.toFixed())); - - if(msgType == 'P'){ - - $('#nowMsgType').text("그림"); - - }else if(msgType == 'M'){ - - $('#nowMsgType').text("장문"); - - }else{ - - $('#nowMsgType').text("단문"); - - } - - $('#repPriceTxt').hide(); - - return totalStr; - -} - -function replTotalPriceSum(msg_short, msg_long, totRows){ - - var shortPrice = 0; //단문 개별 건수 금액 - var longPrice = 0; //장문 개별 건수 금액 - var imgPrice = 0; //그림문자 개별 건수 금액 - var totalPrice = 0; //전체 금액 - var totalStr = "0"; //전체 합계 금액 - var contents = $('#smsTxtArea').val(); //입력 문자 내용 - var msgType = conTypeCheck(contents); //입력 문자 길이 체크 - var userMoney = $('#hdUserMoney').text(); //헤더 영역 보유 금액 불러오기 - var msgCnt = 0; //발송 가능 문자 건수 - var imgCnt = $("#imgCnt").val(); // 현재 페이지에 첨부된 이미지 갯수 - var collNumCnt = parseInt(totRows); //받는사람 건수 - var totalCntTxt = ""; - - //금액 소수점 제거하여 금액 처리 - if(msgType == "P"){//그림문자 - - //그림 이미지 갯수에 따른 금액 계산 - if(imgCnt > 2){//그림 3장일경우 - imgPrice = $('#p3Price').val(); - }else if(imgCnt > 1){//그림 2장일경우 - imgPrice = $('#p2Price').val(); - - }else{//그림 1장일 경우 - imgPrice = $('#pPrice').val(); - } - - msgCnt = userMoney.replaceAll(",","") / imgPrice; - - var imgTotPrice = imgPrice * collNumCnt; - imgTotPrice = Math.round(imgTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 - - totalPrice = totalPrice + imgTotPrice; - - //input hidden 개별 문자 단가 파라미터에 입력 - $('#eachPrice').val(numberWithCommas(imgPrice)); - - //input hidden 결제금액 합계 파라이터에 입력 - $('#totPrice').val(numberWithCommas(totalStr)); - - //결제금액 합계 화면에 표시 - $('#totalPriceTxt').text(numberWithCommas(totalStr)); - - //현재 문자 전송 가능 갯수 표시 - $('.nowMsgCnt').text(numberWithCommas(msgCnt.toFixed())); - - //변환문자 건수 내용 표기 - totalCntTxt = "그림 : " + totRows + " 건";; - - }else{ - - if(msg_long > 0){//장문 문자 - - longPrice = $('#mPrice').val(); - var longTotPrice = longPrice * msg_long; - longTotPrice = Math.round(longTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 - - totalPrice = totalPrice + longTotPrice; - - //input hidden 개별 문자 단가 파라미터에 입력 - $('#eachPrice').val(numberWithCommas(longPrice)); - - //변환문자 건수 내용 표기 - totalCntTxt = "장문 : " + msg_long + " 건"; - - //변환장문 건수 Hidden 폼에 넣어주기 - $('#longMsgCnt').val(msg_long); - - }else{ - - //변환장문 건수 Hidden 폼에 넣어주기 - $('#longMsgCnt').val(msg_long); - - } - - if(msg_short > 0){//단문문자 - - shortPrice = $('#sPrice').val(); - var shortTotPrice = shortPrice * msg_short; - shortTotPrice = Math.round(shortTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 - - totalPrice = totalPrice + shortTotPrice; - - //input hidden 개별 문자 단가 파라미터에 입력 - $('#eachPrice').val(numberWithCommas(shortPrice)); - - if(msg_long > 0){ - - //변환문자 건수 내용 표기 - totalCntTxt = totalCntTxt + "/ 단문 : " + msg_short + " 건"; - - }else{ - - //변환문자 건수 내용 표기 - totalCntTxt = "단문 : " + msg_short + " 건"; - - } - - //변환단문 건수 Hidden 폼에 넣어주기 - $('#shortMsgCnt').val(msg_short); - - }else{ - - //변환단문 건수 Hidden 폼에 넣어주기 - $('#shortMsgCnt').val(msg_short); - - } - - } - - - if(totalPrice > 0){ - - //totalStr = totalPrice.toFixed(2); - totalStr = totalPrice; - - } - - //input hidden 결제금액 합계 파라이터에 입력 - $('#totPrice').val(numberWithCommas(totalStr)); - - //결제금액 합계 화면에 표시 - $('#totalPriceTxt').text(numberWithCommas(totalStr)); - - //결제금액 합계 파라이터에 입력 - $('#totPrice').val(numberWithCommas(totalStr)); - - //특정문구 일괄 변환으로 인한 단/장문 건수 표시 - $('#repPriceTxt').show(); - $('#repPriceTxt').html("(" + totalCntTxt + ")"); - - if(msgType == 'P'){ - - $('#nowMsgType').text("그림"); - - }else if(msgType == 'M'){ - - $('#nowMsgType').text("장문"); - - }else{ - - $('#nowMsgType').text("단문"); - - } - - return totalStr; - -} - -//예약 날짜 체크 함수 -function getGday(date) { /* 현재와 이전 날자의 차이를 년-개월-일 형태로 가져오기 */ - var now = new Date().getTime(); // 현재 날짜를 시간으로 변환 - var d = new Date(date.substring(0, 10)).getTime(); // 이전 날짜를 시간으로 변환 - var gap = now - d; // 현재 날짜와 이전 날짜의 차이를 밀리초 시간으로 구한다. - var result = Math.floor(gap/(1000 * 60 * 60 * 24)); // 날짜 차이를 일수로 계산 - - var year = Math.floor(result / 365); // 현재 날짜 년 - 개월 - 일 수로 표현하기 - var month = Math.floor(result % 365 / 30); - var day = result % 365 % 30; - - return result; - - //각 년도, 월, 일을 따로 리턴하려면 아래를 사용하면 됨 - /* return { - year: year, - month: month, - day: day - }; */ -} - -/* - * 예약 날짜 오류 체크 함수 - * 날짜, 시간, 분 파라미터 전달 - * 현재 날짜와 파라미터 시간의 분 간격 계산해주기 - * */ -function getGapDayTime(paramDate,paramHours,paramMin) { /* 현재와 이전 날자의 차이를 년-개월-일 형태로 가져오기 */ - - var now = new Date(); - - //현재시간 구분하기 - var year = now.getFullYear(); - var month = now.getMonth() + 1 ; - var day = now.getDate(); - var hours = now.getHours(); - var min = now.getMinutes(); - - //비교시간 - var stDt = paramDate.split("/"); - var stYear = stDt[0]; - var stMonth = stDt[1]; - var stDay = stDt[2]; - - var nowDate = new Date(year, month-1, day, hours, min); - var stDate = new Date(stYear, stMonth-1, stDay, paramHours, paramMin); - var elapsedMSec = stDate.getTime() - nowDate.getTime(); - var elapseMin = elapsedMSec / 1000 / 60; - - elapseMin = parseInt(elapseMin); - - return elapseMin; - - //각 년도, 월, 일을 따로 리턴하려면 아래를 사용하면 됨 - /* return { - year: year, - month: month, - day: day - }; */ -} - -// 중복 주소 체크하기 -/*function dupliAddrData(data){ - - var chk = true; //중복값 유무 - var uniqData = []; // 중복값 삭제 후 데이터 저장 - var dupCnt = 0; - - //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 - $.each(data, function(i, item){ - - chk = true; //중복값 유무 - - $.each(uniqData, function(j, item2){ - - if(item.phone == item2.phone){ - - chk = false; - dupCnt = dupCnt + 1; - console.log("++++++++++++++ dupCnt ::: "+ dupCnt); - - } - - }); - - if(chk){ - - uniqData.push(item); - - } - - }); - - $("#rowDupCnt").text(dupCnt); - return uniqData; - -}*/ - -var dupliPhoneDataRealList = []; - -//중복 전화번호 체크하기 -function dupliPhoneData(data){ - - var chk = true; //중복값 유무 - var uniqData = []; // 중복값 삭제 후 데이터 저장 - var dupCnt = 0; - - //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 - $.each(data, function(i, item){ - - chk = true; //중복값 유무 - - $.each(uniqData, function(j, item2){ - if(item.phone.length > 0){ - if(item.phone == item2.phone){ - - chk = false; - dupCnt = dupCnt + 1; - - } - } - - }); - - if(chk){ - uniqData.push(item); - } - else { - // Get 중복 연락처 - GetDupliPhoneDataReal(item.phone); - } - - }); - - //중복건수 텍스트 입력해 주기 - $("#rowDupCnt").text(dupCnt); - - // 중복번호 버튼 노출 - if($("#btnAddrMassDupli").length > 0) { - $("#btnAddrMassDupli").show(); - } - - // 중복번호(기존 주소록) 버튼 노출 - if($("#btnAddrMassSaveDupli").length > 0) { - $("#btnAddrMassSaveDupli").hide(); - } - - return uniqData; -} - - -//연락처 중복검사 속도 개선 버전 -function getSpupDupliPhoneDataChk(data){ - - var dataLen = data.length; - const arrUnique = data.filter((character, idx, arr)=>{ - return arr.findIndex((item) => item.phone === character.phone) === idx - }); - - var uniqLen = arrUnique.length; - var dupCnt = dataLen - uniqLen; - //중복건수 텍스트 입력해 주기 - $("#rowDupCnt").text(dupCnt); - - return arrUnique; -} - -// Get 중복 연락처 -function GetDupliPhoneDataReal(item) { - var isDuplicate = false; - if (dupliPhoneDataRealList.length == 0) { - dupliPhoneDataRealList.push(item); - } - else { - for (var i = 0; i < dupliPhoneDataRealList.length; i++) { - if (dupliPhoneDataRealList[i] == item) { - isDuplicate = true; - } - } - - if (isDuplicate) { - return; - } - else { - dupliPhoneDataRealList.push(item); - } - } -} - -//중복 전화번호 체크하여 중복 갯수 리턴하기 -function dupliPhoneDataChk(data){ - - var chk = true; //중복값 유무 - var uniqData = []; // 중복값 삭제 후 데이터 저장 - var dupCnt = 0; - - //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 - $.each(data, function(i, item){ - - chk = true; //중복값 유무 - - $.each(uniqData, function(j, item2){ - - if(item.phone.length > 0){ - - if(item.phone == item2.phone){ - - chk = false; - dupCnt = dupCnt + 1; - - } - - } - - }); - - if(chk){ - - uniqData.push(item); - - } - - }); - - return dupCnt; - -} - -//특정 바이트수 만큼 문자열 잘라서 반환해주기 -function strUnderLineSubstring(str, maxLength){ - - for(b=i=0;c=str.charCodeAt(i);) { - - b+=c>>7?2:1; - - if (b > maxLength) - - break; - - i++; - - } - - return str.substring(0,i); - -} - - -//특정 글자수 만큼 문자열 잘라서 반환해주기 -function strMaxLengthSubstring(str, maxLength){ - - for(b=i=0;c=str.charCodeAt(i);) { - - if (i > maxLength) - - break; - - i++; - - } - - return str.substring(0,i); - -} - -//문자열 글자수 반환해주기(한글, 영문, 특수문자, 엔터와 상관없이 글자수로 체크함) -function strMaxCharacterCnt(str){ - - var totLen = 0; - for(b=i=0;c=str.charCodeAt(i);) { - i++; - totLen = i; - } - return totLen; -} - -//문자입력 첫번째 글자가 한글, 숫자, 영문자가 아니면 경고 표시 -function strFirstCharCheck(str){ - - var pattern1 = /[0-9]/; - var pattern2 = /[a-zA-Z]/; - var pattern3 = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; - - var spChar = 0; - for(var i=0; i= '\u4E00' && str.charAt(i) <= '\u9FFF'){//한중일 공통한자일 경우 - - if(rtnStr.length == 0){ - rtnStr = cont; - }else{ - rtnStr = rtnStr + ", " + cont; - } - - }else if(str.charAt(i) >= '\u2E80' && str.charAt(i) <= '\u2EFF'){//한자부수 - - if(rtnStr.length == 0){ - rtnStr = cont; - }else{ - rtnStr = rtnStr + ", " + cont; - } - - }else if(str.charAt(i) >= '\u3400' && str.charAt(i) <= '\u4DB5'){//한자확장A - - if(rtnStr.length == 0){ - rtnStr = cont; - }else{ - rtnStr = rtnStr + ", " + cont; - } - - } - - } - - return rtnStr; -} - -//받아온 str 에 이모지가 포함되어있는지 체크하여 갯수로 반환 -function kakaoTemplateEmojiCheck (str) { - var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; - var usedEmoji = ""; - var returnFlag = true; - - var splitMsg = str.split(/.*?/u); - - for(var i=0; i < splitMsg.length; i++){ - if(splitMsg[i].match(regex)) { - usedEmoji = usedEmoji + splitMsg[i]; - returnFlag = false; - } - } - if(!returnFlag) alert("알림톡 내용에 이모지는 사용할 수 없습니다.\n이모지 삭제후 등록해주세요.\n(" + usedEmoji + ")"); - - return returnFlag; -} - -//받아온 str 에 이모지가 포함되어있는지 체크하여 갯수로 반환 -function emojiCheck (str) { - var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; - var usedEmoji = ""; - var returnFlag = true; - - var splitMsg = str.split(/.*?/u); - - for(var i=0; i < splitMsg.length; i++){ - if(splitMsg[i].match(regex)) { - usedEmoji = usedEmoji + splitMsg[i]; - returnFlag = false; - } - } - if(!returnFlag) alert("문자 제목, 내용에 이모지는 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")"); - - return returnFlag; -} - -function addrEmojiCheck (str) { - var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; - var usedEmoji = ""; - var returnFlag = true; - - var splitMsg = str.split(/.*?/u); - - for(var i=0; i < splitMsg.length; i++){ - if(splitMsg[i].match(regex)) { - usedEmoji = usedEmoji + splitMsg[i]; - returnFlag = false; - } - } - - if(!returnFlag) { - //로딩창 hide - $('.loading_layer').removeClass('active'); - - alert("주소록 저장 목록 중 이모지를 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")"); - } - - return returnFlag; -} - -// 제목이 치환 문구 체크 -function getSpacialStringChk(mmsSubject){ - - var returnStr = false; - - if(mmsSubject.indexOf("[*이름*]") > -1 || mmsSubject.indexOf("[*1*]") > -1 || mmsSubject.indexOf("[*2*]") > -1 || mmsSubject.indexOf("[*3*]") > -1 || mmsSubject.indexOf("[*4*]") > -1){ - returnStr = true; - } - - return returnStr; - -} - -//커서 위치에 삽입 -function setCursorInsertText(pTxtArea, pAddTxt) { - var txtArea = document.getElementById(pTxtArea); - var txtValue = txtArea.value; - var selectPos = txtArea.selectionStart; // 커서 위치 지정 - var beforeTxt = txtValue.substring(0, selectPos); // 기존텍스트 ~ 커서시작점 까지의 문자 - var afterTxt = txtValue.substring(txtArea.selectionEnd, txtValue.length); // 커서끝지점 ~ 기존텍스트 까지의 문자 - var addTxt = pAddTxt; // 추가 입력 할 텍스트 - txtArea.value = beforeTxt + addTxt + afterTxt; - - selectPos = selectPos + addTxt.length; - txtArea.selectionStart = selectPos; // 커서 시작점을 추가 삽입된 텍스트 이후로 지정 - txtArea.selectionEnd = selectPos; // 커서 끝지점을 추가 삽입된 텍스트 이후로 지정 - txtArea.focus(); -} - -//받는사람 목록의 체크박스가 20개가 모두 체크 되었는지 확인 -function fnCallToChkAllCnt(){ - - var chkCnt = 0; - var totChkCnt = $("input:checkbox[name='chkCallTo']").length; - var btnAllVal = $("#checkAll").val(); - - //체크박스 체크된 갯수 구하기 - $("input:checkbox[name='chkCallTo']").each(function () { - if($(this).is(':checked')){ - chkCnt++; - }; - }); - - //전체선택 체크 여부 값 변경해 주기 - //현재 체크된 체크박스 갯수와 전체 체크박스 갯수 비교하기 - if(totChkCnt > 0 && totChkCnt == chkCnt){ - - if(btnAllVal == 'N'){ - $("#checkAll").val("Y"); - $("#checkAll").text("선택해제"); - }else{ - $("#checkAll").val("N"); - $("#checkAll").text("전체선택"); - } - - }else{ - - $("#checkAll").val("N"); - $("#checkAll").text("전체선택"); - - } - -} - -//선거문자 20건 수신자 목록 추가된 건수 및 발송 금액 변경해주기 -function fnChkCallToChange(){ - - var callToCnt = 0; - $("input[name=chkCallTo]").each(function(){ - - var chkSts = $(this).is(':checked'); - if(chkSts){ - callToCnt++; - } - }); - - //체크박스가 모두 체크 되어있는지 확인 하기 - fnCallToChkAllCnt(); - - updateTotCnt(callToCnt); //전체 데이터 갯수 구하기 - totalPriceSum(callToCnt); - -} - -//Tabulator 주소록 그룹 목록일 경우 각 그룹 주소 갯수 합산해주기 -function getTabulatorLAddrGrpCnt(){ - - var selectedData = tableL.getRows(); - var totAddrCnt = 0; - for(var i=0; i < selectedData.length; i++){ - - //일괄변환 문자에 콤마(,)가 들어가있으면 배열로 넘길때 문제가 발생하여 특수문자(§)로 치환하여 넘겨주도록 한다. - var addrGrpCnt = tableL.getRows()[i].getData().addrGrpCnt; - - totAddrCnt = Number(totAddrCnt) + Number(addrGrpCnt); - - } - - return totAddrCnt; +/** + * 휴대폰번호 유효성 체크 + * true, false 반환 + * 대시 유무 상관없음 + */ +function checkHpNum(str) { + + var regExp = /^(050[2345678]{1}|01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; + //var regExp = /^(01[016789]{1}|070|02|0[3-9]{1}[0-9]{1})-?[0-9]{3,4}-?[0-9]{4}$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 + return regExp.test(str); +} + +/** + * 휴대폰번호만 유효성 체크 + * true, false 반환 + * 대시 유무 상관없음 + */ +function checkOnlyHpNum(str) { + + //var regExp = /^(050[234567]{1}|01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; + var regExp = /^(01[016789]{1})-?[0-9]{3,4}-?[0-9]{4}$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 + return regExp.test(str); +} + +/** + * 팩스 번호 유효성 체크 + * true, false 반환 + * 앞 3자리를 체크 함 + * -- 전국 지역번호 + * 02 서울특별시 + 031 경기도 + 032 인천광역시 + 033 강원도 + 041 충청남도 + 042 대전광역시 + 043 충청북도 + 044 세종특별자치시 + 051 부산광역시 + 052 울산광역시 + 053 대구광역시 + 054 경상북도 + 055 경상남도 + 061 전라남도 + 062 광주광역시 + 063 전라북도 + 064 제주특별자치도 + + -- 타사부가번호 + 030* + 050* + 060 + 070 + 080 + 1** + + 위 번호로 시작하는 팩스 번호만 허용함. + */ +function checkFaxNum(str) { + str = removeDash(str); + var subNum = str.substring(0,3); + var regExp = /^(02[0-9]{1}|030|050|060|070|080|0[3-6]{1}[1-5]{1}|1[0-9]{1}[0-9]{1})$/; //지역번호(일반전화) 형식까지 체크해주는 정규식 + return regExp.test(subNum); +} + +/* + * 일반전화 유효성 체크 + * true, false 반환 + * + * */ +function checkNorPhoneNum(str){ + + var regExp = /^(02|0[3-9]{1}[0-9]{1})-?[0-9]{3,4}-?[0-9]{4}$/; + + /** + * 기간통신사업자 공통 부가서비스 번호 체크 + * 번호 사업자 + 1588,1577,1899 KT + 1544,1644,1661,1800 ,1833 LG유플러스 + 1566,1600,1670 SK브로드밴드 + 1688,1666 온세텔레콤 + 1599 SK텔링크 + 1877 한국케이블텔레콤 + 1855 CJ헬로비전 + 1661 alleh KT + * + * */ + + if(str.substring(0,2) == "15"){ + + regExp = /^(15[0-9]{2})-?[0-9]{4}$/; + + }else if(str.substring(0,2) == "16"){ + + regExp = /^(16[0-9]{2})-?[0-9]{4}$/; + + }else if(str.substring(0,2) == "18"){ + + regExp = /^(18[0-9]{2})-?[0-9]{4}$/; + + } + + return regExp.test(str); +} + +/* + * 일반전화 / 핸드폰 번호 종류 확인 + * true, false 반환 + * + * */ +function checkTelHpType(str){ + + var subCall = str.substring(0,3); // 전화번호 앞 3자리 받아오기 + var strType = ""; // 결과 반환 + + if(subCall != '010' + && subCall != '011' + && subCall != '016' + && subCall != '017'){//일반전화 번호이면 + + strType = "Tel"; + + }else{ + + strType = "Hp"; + } + + return strType; +} + + +/** + * 휴대폰번호 대시('-') 제거 + */ +function removeDash(str) { + var regExp = new RegExp('-', 'g'); + return str.replace(regExp, ''); +} + +/** + * 휴대폰번호 대시('-') 추가 + * 대시 유무 상관없음 + * 유효성 맞지 않을시 변환안됨. + */ +function addDash(str) { + return str.replace(/(^01[016789]{1}|070)([0-9]{3}|[0-9]{4})([0-9]{4})$/,"$1-$2-$3").replace("--", "-"); +} + +/** + * ReplaceAll (by javascript prototype) + * 정규식 패턴에서 \는 두 개 사용 + */ +String.prototype.replaceAll = function(pattern, changeString) { + var regExp = new RegExp(pattern, 'g'); + return this.replace(regExp, changeString); +}; + +/** + * 이메일 유효성 체크 + * true, false 반환 + * + */ +function checkEmail(str) { + var regExp = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/; + return regExp.test(str); +} + +/** + * XSS 체크하기 + * + * + */ + +function XSSCheck(str, level) { + if (level == undefined || level == 0) { + str = str.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,""); + } else if (level != undefined && level == 1) { + str = str.replace(/\/g, ">"); + } + return str; +} + + +//숫자 천단위 콤마 찍어주기 +function numberWithCommas(x) { + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); +} + +function comma(num){ + var len, point, str; + num = num + ""; + point = num.length % 3; + len = num.length; + str = num.substring(0, point); + while (point < len) { + if (str != "") str += ","; + str += num.substring(point, point + 3); + point += 3; + } + return str; +} + + +function totalPriceSum(totRows){ + + var contents = $('#smsTxtArea').val(); //입력 문자 내용 + var msgType = conTypeCheck(contents); //입력 문자 길이 체크 + var collNumCnt = parseInt(totRows); //받는사람 건수 + var price = 0; //개별 건수 금액 + var totalPrice = 0; //전체 금액 + //var strDot = []; + //var subPrice = ""; + //var spPrice = ""; + var totalStr = "0"; //전체 합계 금액 + var userMoney = $('#hdUserMoney').text(); //헤더 영역 보유 금액 불러오기 + var msgCnt = 0; //발송 가능 문자 건수 + var imgCnt = $("#imgCnt").val(); // 현재 페이지에 첨부된 이미지 갯수 + + if(!userMoney > 0){ + + userMoney = 0; + + } + //헤더 영역 보유 금액 콤마 문자 제거 + if(userMoney != ''){ + + userMoney = userMoney.replaceAll("," , ""); + + } + + /*if(msgType == "P"){//그림문자 + + //그림 이미지 갯수에 따른 금액 계산 + if(imgCnt > 2){//그림 3장일경우 + price = parseFloat($('#p3Price').val()); + }else if(imgCnt > 1){//그림 2장일경우 + price = parseFloat($('#p2Price').val()); + }else{//그림 1장일 경우 + price = parseFloat($('#pPrice').val()); + } + + msgCnt = parseFloat(userMoney) / price; + + }else if(msgType == "M"){//장문 문자 + + price = parseFloat($('#mPrice').val()); + msgCnt = parseFloat(userMoney) / price; + + }else{//단문문자 + + price = parseFloat($('#sPrice').val()); + msgCnt = parseFloat(userMoney) / price; + + }*/ + + //금액 소수점 제거 하여 적용 20220623 소수점 버림 처리 + if(msgType == "P"){//그림문자 + + //그림 이미지 갯수에 따른 금액 계산 + if(imgCnt > 2){//그림 3장일경우 + price = $('#p3Price').val(); + }else if(imgCnt > 1){//그림 2장일경우 + price = $('#p2Price').val(); + }else{//그림 1장일 경우 + price = $('#pPrice').val(); + } + + msgCnt = userMoney / price; + + }else if(msgType == "M"){//장문 문자 + + price = $('#mPrice').val(); + msgCnt = userMoney / price; + + }else{//단문문자 + + price = $('#sPrice').val(); + msgCnt = userMoney / price; + + } + + totalPrice = price * collNumCnt; + + // 소수점 첫째자리 까지 표시 + totalPrice = totalPrice.toFixed(1); + + if(totalPrice > 0){ + + //totalStr = totalPrice.toFixed(2); + totalStr = totalPrice; + + } + + //개별 문자 단가 파라미터에 입력 + $('#eachPrice').val(numberWithCommas(price)); + + + //결제금액 합계 파라이터에 입력 + $('#totPrice').val(numberWithCommas(totalStr)); + + //결제금액 합계 화면에 표시 + $('#totalPriceTxt').text(numberWithCommas(totalStr)); + + //현재 문자 전송 가능 갯수 표시 + $('.nowMsgCnt').text(numberWithCommas(msgCnt.toFixed())); + + if(msgType == 'P'){ + + $('#nowMsgType').text("그림"); + + }else if(msgType == 'M'){ + + $('#nowMsgType').text("장문"); + + }else{ + + $('#nowMsgType').text("단문"); + + } + + $('#repPriceTxt').hide(); + + return totalStr; + +} + +function replTotalPriceSum(msg_short, msg_long, totRows){ + + var shortPrice = 0; //단문 개별 건수 금액 + var longPrice = 0; //장문 개별 건수 금액 + var imgPrice = 0; //그림문자 개별 건수 금액 + var totalPrice = 0; //전체 금액 + var totalStr = "0"; //전체 합계 금액 + var contents = $('#smsTxtArea').val(); //입력 문자 내용 + var msgType = conTypeCheck(contents); //입력 문자 길이 체크 + var userMoney = $('#hdUserMoney').text(); //헤더 영역 보유 금액 불러오기 + var msgCnt = 0; //발송 가능 문자 건수 + var imgCnt = $("#imgCnt").val(); // 현재 페이지에 첨부된 이미지 갯수 + var collNumCnt = parseInt(totRows); //받는사람 건수 + var totalCntTxt = ""; + + //금액 소수점 제거하여 금액 처리 + if(msgType == "P"){//그림문자 + + //그림 이미지 갯수에 따른 금액 계산 + if(imgCnt > 2){//그림 3장일경우 + imgPrice = $('#p3Price').val(); + }else if(imgCnt > 1){//그림 2장일경우 + imgPrice = $('#p2Price').val(); + + }else{//그림 1장일 경우 + imgPrice = $('#pPrice').val(); + } + + msgCnt = userMoney.replaceAll(",","") / imgPrice; + + var imgTotPrice = imgPrice * collNumCnt; + imgTotPrice = Math.round(imgTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 + + totalPrice = totalPrice + imgTotPrice; + + //input hidden 개별 문자 단가 파라미터에 입력 + $('#eachPrice').val(numberWithCommas(imgPrice)); + + //input hidden 결제금액 합계 파라이터에 입력 + $('#totPrice').val(numberWithCommas(totalStr)); + + //결제금액 합계 화면에 표시 + $('#totalPriceTxt').text(numberWithCommas(totalStr)); + + //현재 문자 전송 가능 갯수 표시 + $('.nowMsgCnt').text(numberWithCommas(msgCnt.toFixed())); + + //변환문자 건수 내용 표기 + totalCntTxt = "그림 : " + totRows + " 건";; + + }else{ + + if(msg_long > 0){//장문 문자 + + longPrice = $('#mPrice').val(); + var longTotPrice = longPrice * msg_long; + longTotPrice = Math.round(longTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 + + totalPrice = totalPrice + longTotPrice; + + //input hidden 개별 문자 단가 파라미터에 입력 + $('#eachPrice').val(numberWithCommas(longPrice)); + + //변환문자 건수 내용 표기 + totalCntTxt = "장문 : " + msg_long + " 건"; + + //변환장문 건수 Hidden 폼에 넣어주기 + $('#longMsgCnt').val(msg_long); + + }else{ + + //변환장문 건수 Hidden 폼에 넣어주기 + $('#longMsgCnt').val(msg_long); + + } + + if(msg_short > 0){//단문문자 + + shortPrice = $('#sPrice').val(); + var shortTotPrice = shortPrice * msg_short; + shortTotPrice = Math.round(shortTotPrice * 100) / 100; //소수점 2자리 반올리 처리해주기 + + totalPrice = totalPrice + shortTotPrice; + + //input hidden 개별 문자 단가 파라미터에 입력 + $('#eachPrice').val(numberWithCommas(shortPrice)); + + if(msg_long > 0){ + + //변환문자 건수 내용 표기 + totalCntTxt = totalCntTxt + "/ 단문 : " + msg_short + " 건"; + + }else{ + + //변환문자 건수 내용 표기 + totalCntTxt = "단문 : " + msg_short + " 건"; + + } + + //변환단문 건수 Hidden 폼에 넣어주기 + $('#shortMsgCnt').val(msg_short); + + }else{ + + //변환단문 건수 Hidden 폼에 넣어주기 + $('#shortMsgCnt').val(msg_short); + + } + + } + + + if(totalPrice > 0){ + + //totalStr = totalPrice.toFixed(2); + totalStr = totalPrice; + + } + + //input hidden 결제금액 합계 파라이터에 입력 + $('#totPrice').val(numberWithCommas(totalStr)); + + //결제금액 합계 화면에 표시 + $('#totalPriceTxt').text(numberWithCommas(totalStr)); + + //결제금액 합계 파라이터에 입력 + $('#totPrice').val(numberWithCommas(totalStr)); + + //특정문구 일괄 변환으로 인한 단/장문 건수 표시 + $('#repPriceTxt').show(); + $('#repPriceTxt').html("(" + totalCntTxt + ")"); + + if(msgType == 'P'){ + + $('#nowMsgType').text("그림"); + + }else if(msgType == 'M'){ + + $('#nowMsgType').text("장문"); + + }else{ + + $('#nowMsgType').text("단문"); + + } + + return totalStr; + +} + +//예약 날짜 체크 함수 +function getGday(date) { /* 현재와 이전 날자의 차이를 년-개월-일 형태로 가져오기 */ + var now = new Date().getTime(); // 현재 날짜를 시간으로 변환 + var d = new Date(date.substring(0, 10)).getTime(); // 이전 날짜를 시간으로 변환 + var gap = now - d; // 현재 날짜와 이전 날짜의 차이를 밀리초 시간으로 구한다. + var result = Math.floor(gap/(1000 * 60 * 60 * 24)); // 날짜 차이를 일수로 계산 + + var year = Math.floor(result / 365); // 현재 날짜 년 - 개월 - 일 수로 표현하기 + var month = Math.floor(result % 365 / 30); + var day = result % 365 % 30; + + return result; + + //각 년도, 월, 일을 따로 리턴하려면 아래를 사용하면 됨 + /* return { + year: year, + month: month, + day: day + }; */ +} + +/* + * 예약 날짜 오류 체크 함수 + * 날짜, 시간, 분 파라미터 전달 + * 현재 날짜와 파라미터 시간의 분 간격 계산해주기 + * */ +function getGapDayTime(paramDate,paramHours,paramMin) { /* 현재와 이전 날자의 차이를 년-개월-일 형태로 가져오기 */ + + var now = new Date(); + + //현재시간 구분하기 + var year = now.getFullYear(); + var month = now.getMonth() + 1 ; + var day = now.getDate(); + var hours = now.getHours(); + var min = now.getMinutes(); + + //비교시간 + var stDt = paramDate.split("/"); + var stYear = stDt[0]; + var stMonth = stDt[1]; + var stDay = stDt[2]; + + var nowDate = new Date(year, month-1, day, hours, min); + var stDate = new Date(stYear, stMonth-1, stDay, paramHours, paramMin); + var elapsedMSec = stDate.getTime() - nowDate.getTime(); + var elapseMin = elapsedMSec / 1000 / 60; + + elapseMin = parseInt(elapseMin); + + return elapseMin; + + //각 년도, 월, 일을 따로 리턴하려면 아래를 사용하면 됨 + /* return { + year: year, + month: month, + day: day + }; */ +} + +// 중복 주소 체크하기 +/*function dupliAddrData(data){ + + var chk = true; //중복값 유무 + var uniqData = []; // 중복값 삭제 후 데이터 저장 + var dupCnt = 0; + + //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 + $.each(data, function(i, item){ + + chk = true; //중복값 유무 + + $.each(uniqData, function(j, item2){ + + if(item.phone == item2.phone){ + + chk = false; + dupCnt = dupCnt + 1; + console.log("++++++++++++++ dupCnt ::: "+ dupCnt); + + } + + }); + + if(chk){ + + uniqData.push(item); + + } + + }); + + $("#rowDupCnt").text(dupCnt); + return uniqData; + +}*/ + +var dupliPhoneDataRealList = []; + +//중복 전화번호 체크하기 +function dupliPhoneData(data){ + + var chk = true; //중복값 유무 + var uniqData = []; // 중복값 삭제 후 데이터 저장 + var dupCnt = 0; + + //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 + $.each(data, function(i, item){ + + chk = true; //중복값 유무 + + $.each(uniqData, function(j, item2){ + if(item.phone.length > 0){ + if(item.phone == item2.phone){ + + chk = false; + dupCnt = dupCnt + 1; + + } + } + + }); + + if(chk){ + uniqData.push(item); + } + else { + // Get 중복 연락처 + GetDupliPhoneDataReal(item.phone); + } + + }); + + //중복건수 텍스트 입력해 주기 + $("#rowDupCnt").text(dupCnt); + + // 중복번호 버튼 노출 + if($("#btnAddrMassDupli").length > 0) { + $("#btnAddrMassDupli").show(); + } + + // 중복번호(기존 주소록) 버튼 노출 + if($("#btnAddrMassSaveDupli").length > 0) { + $("#btnAddrMassSaveDupli").hide(); + } + + return uniqData; +} + + +//연락처 중복검사 속도 개선 버전 +function getSpupDupliPhoneDataChk(data){ + + var dataLen = data.length; + const arrUnique = data.filter((character, idx, arr)=>{ + return arr.findIndex((item) => item.phone === character.phone) === idx + }); + + var uniqLen = arrUnique.length; + var dupCnt = dataLen - uniqLen; + //중복건수 텍스트 입력해 주기 + $("#rowDupCnt").text(dupCnt); + + return arrUnique; +} + +// Get 중복 연락처 +function GetDupliPhoneDataReal(item) { + var isDuplicate = false; + if (dupliPhoneDataRealList.length == 0) { + dupliPhoneDataRealList.push(item); + } + else { + for (var i = 0; i < dupliPhoneDataRealList.length; i++) { + if (dupliPhoneDataRealList[i] == item) { + isDuplicate = true; + } + } + + if (isDuplicate) { + return; + } + else { + dupliPhoneDataRealList.push(item); + } + } +} + +//중복 전화번호 체크하여 중복 갯수 리턴하기 +function dupliPhoneDataChk(data){ + + var chk = true; //중복값 유무 + var uniqData = []; // 중복값 삭제 후 데이터 저장 + var dupCnt = 0; + + //첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌 + $.each(data, function(i, item){ + + chk = true; //중복값 유무 + + $.each(uniqData, function(j, item2){ + + if(item.phone.length > 0){ + + if(item.phone == item2.phone){ + + chk = false; + dupCnt = dupCnt + 1; + + } + + } + + }); + + if(chk){ + + uniqData.push(item); + + } + + }); + + return dupCnt; + +} + +//특정 바이트수 만큼 문자열 잘라서 반환해주기 +function strUnderLineSubstring(str, maxLength){ + + for(b=i=0;c=str.charCodeAt(i);) { + + b+=c>>7?2:1; + + if (b > maxLength) + + break; + + i++; + + } + + return str.substring(0,i); + +} + + +//특정 글자수 만큼 문자열 잘라서 반환해주기 +function strMaxLengthSubstring(str, maxLength){ + + for(b=i=0;c=str.charCodeAt(i);) { + + if (i > maxLength) + + break; + + i++; + + } + + return str.substring(0,i); + +} + +//문자열 글자수 반환해주기(한글, 영문, 특수문자, 엔터와 상관없이 글자수로 체크함) +function strMaxCharacterCnt(str){ + + var totLen = 0; + for(b=i=0;c=str.charCodeAt(i);) { + i++; + totLen = i; + } + return totLen; +} + +//문자입력 첫번째 글자가 한글, 숫자, 영문자가 아니면 경고 표시 +function strFirstCharCheck(str){ + + var pattern1 = /[0-9]/; + var pattern2 = /[a-zA-Z]/; + var pattern3 = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; + + var spChar = 0; + for(var i=0; i= '\u4E00' && str.charAt(i) <= '\u9FFF'){//한중일 공통한자일 경우 + + if(rtnStr.length == 0){ + rtnStr = cont; + }else{ + rtnStr = rtnStr + ", " + cont; + } + + }else if(str.charAt(i) >= '\u2E80' && str.charAt(i) <= '\u2EFF'){//한자부수 + + if(rtnStr.length == 0){ + rtnStr = cont; + }else{ + rtnStr = rtnStr + ", " + cont; + } + + }else if(str.charAt(i) >= '\u3400' && str.charAt(i) <= '\u4DB5'){//한자확장A + + if(rtnStr.length == 0){ + rtnStr = cont; + }else{ + rtnStr = rtnStr + ", " + cont; + } + + } + + } + + return rtnStr; +} + +//받아온 str 에 이모지가 포함되어있는지 체크하여 갯수로 반환 +function kakaoTemplateEmojiCheck (str) { + var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; + var usedEmoji = ""; + var returnFlag = true; + + var splitMsg = str.split(/.*?/u); + + for(var i=0; i < splitMsg.length; i++){ + if(splitMsg[i].match(regex)) { + usedEmoji = usedEmoji + splitMsg[i]; + returnFlag = false; + } + } + if(!returnFlag) alert("알림톡 내용에 이모지는 사용할 수 없습니다.\n이모지 삭제후 등록해주세요.\n(" + usedEmoji + ")"); + + return returnFlag; +} + +//받아온 str 에 이모지가 포함되어있는지 체크하여 갯수로 반환 +function emojiCheck (str) { + var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; + var usedEmoji = ""; + var returnFlag = true; + + var splitMsg = str.split(/.*?/u); + + for(var i=0; i < splitMsg.length; i++){ + if(splitMsg[i].match(regex)) { + usedEmoji = usedEmoji + splitMsg[i]; + returnFlag = false; + } + } + if(!returnFlag) alert("문자 제목, 내용에 이모지는 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")"); + + return returnFlag; +} + +function addrEmojiCheck (str) { + var regex = /[\u{1F004}-\u{1F9E6}]|[\u{1F600}-\u{1F9D0}]/gu; + var usedEmoji = ""; + var returnFlag = true; + + var splitMsg = str.split(/.*?/u); + + for(var i=0; i < splitMsg.length; i++){ + if(splitMsg[i].match(regex)) { + usedEmoji = usedEmoji + splitMsg[i]; + returnFlag = false; + } + } + + if(!returnFlag) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + + alert("주소록 저장 목록 중 이모지를 사용할 수 없습니다.\n이모지 삭제후 발송해주세요.\n(" + usedEmoji + ")"); + } + + return returnFlag; +} + +// 제목이 치환 문구 체크 +function getSpacialStringChk(mmsSubject){ + + var returnStr = false; + + if(mmsSubject.indexOf("[*이름*]") > -1 || mmsSubject.indexOf("[*1*]") > -1 || mmsSubject.indexOf("[*2*]") > -1 || mmsSubject.indexOf("[*3*]") > -1 || mmsSubject.indexOf("[*4*]") > -1){ + returnStr = true; + } + + return returnStr; + +} + +//커서 위치에 삽입 +function setCursorInsertText(pTxtArea, pAddTxt) { + var txtArea = document.getElementById(pTxtArea); + var txtValue = txtArea.value; + var selectPos = txtArea.selectionStart; // 커서 위치 지정 + var beforeTxt = txtValue.substring(0, selectPos); // 기존텍스트 ~ 커서시작점 까지의 문자 + var afterTxt = txtValue.substring(txtArea.selectionEnd, txtValue.length); // 커서끝지점 ~ 기존텍스트 까지의 문자 + var addTxt = pAddTxt; // 추가 입력 할 텍스트 + txtArea.value = beforeTxt + addTxt + afterTxt; + + selectPos = selectPos + addTxt.length; + txtArea.selectionStart = selectPos; // 커서 시작점을 추가 삽입된 텍스트 이후로 지정 + txtArea.selectionEnd = selectPos; // 커서 끝지점을 추가 삽입된 텍스트 이후로 지정 + txtArea.focus(); +} + +//받는사람 목록의 체크박스가 20개가 모두 체크 되었는지 확인 +function fnCallToChkAllCnt(){ + + var chkCnt = 0; + var totChkCnt = $("input:checkbox[name='chkCallTo']").length; + var btnAllVal = $("#checkAll").val(); + + //체크박스 체크된 갯수 구하기 + $("input:checkbox[name='chkCallTo']").each(function () { + if($(this).is(':checked')){ + chkCnt++; + }; + }); + + //전체선택 체크 여부 값 변경해 주기 + //현재 체크된 체크박스 갯수와 전체 체크박스 갯수 비교하기 + if(totChkCnt > 0 && totChkCnt == chkCnt){ + + if(btnAllVal == 'N'){ + $("#checkAll").val("Y"); + $("#checkAll").text("선택해제"); + }else{ + $("#checkAll").val("N"); + $("#checkAll").text("전체선택"); + } + + }else{ + + $("#checkAll").val("N"); + $("#checkAll").text("전체선택"); + + } + +} + +//선거문자 20건 수신자 목록 추가된 건수 및 발송 금액 변경해주기 +function fnChkCallToChange(){ + + var callToCnt = 0; + $("input[name=chkCallTo]").each(function(){ + + var chkSts = $(this).is(':checked'); + if(chkSts){ + callToCnt++; + } + }); + + //체크박스가 모두 체크 되어있는지 확인 하기 + fnCallToChkAllCnt(); + + updateTotCnt(callToCnt); //전체 데이터 갯수 구하기 + totalPriceSum(callToCnt); + +} + +//Tabulator 주소록 그룹 목록일 경우 각 그룹 주소 갯수 합산해주기 +function getTabulatorLAddrGrpCnt(){ + + var selectedData = tableL.getRows(); + var totAddrCnt = 0; + for(var i=0; i < selectedData.length; i++){ + + //일괄변환 문자에 콤마(,)가 들어가있으면 배열로 넘길때 문제가 발생하여 특수문자(§)로 치환하여 넘겨주도록 한다. + var addrGrpCnt = tableL.getRows()[i].getData().addrGrpCnt; + + totAddrCnt = Number(totAddrCnt) + Number(addrGrpCnt); + + } + + return totAddrCnt; } \ No newline at end of file