이용권

이용권
3개 세부 메뉴 · 2개 분석 문서
수납·정산
세부 메뉴
이용권 관리
이용권 발급내역
잔여·차감 내역
이용권이용권관리

이용권관리



평생교육 > 이용권 > 이용권관리


1. 기능 개요


이용권(티켓)의 생성, 수정, 삭제 등 기본 마스터 정보를 관리하고, 적용 가능한 할인 혜택과 발급 대상자를 설정합니다. 또한 이용권 판매 내역을 조회하고, 정지(Suspend) 및 정지 해제(Suspend Cancel) 기능을 통해 이용 기간을 일시 중지하거나 복구합니다.

2. 주요 기능 목록


* 이용권 마스터 관리: 신규 등록(insertTicketInfo), 수정(updateTicketInfo), 삭제(deleteTicketInfo)
* 할인 혜택 관리: 할인 코드 조회, 추가(insertTicketDiscount), 삭제(deleteTicketDiscount)
* 발급 대상 관리: 발급 대상자 추가(insertTicketIssueTargets), 전체 삭제(deleteAllTicketIssueTargets)
* 판매 정보 조회: 이용권 상세 정보 조회(selectTicketInfo), 판매 내역 조회(selectTicketSaleHistory)
* 이용권 상태 제어: 이용권 중지(종료일 연장, suspendTicket), 정지 해제(종료일 단축, suspendCancelTicket)

3. 비즈니스 규칙


* 할인 혜택 동기화: 이용권 수정 시 기존 등록된 할인 코드와 새로 입력된 할인 코드를 비교하여, 추가된 코드는 삽입하고 삭제된 코드는 제거하는 로직이 적용됩니다.
* 정지(중지) 처리 규칙:
* 이용권을 중지할 경우, 현재 종료일(edYmd)에 중지 기간(hldDateCnt)을 더하여 새로운 종료일로 연장합니다.
* 중지 시작일(hldStYmd)과 중지 종료일(hldEdYmd)은 'yyyy.MM.dd' 형식에서 'yyyyMMdd' 형식으로 변환되어 저장됩니다.
* 중지 처리 시 업데이트한 사용자 ID(updUsr)가 기록됩니다.
* 정지 해제 규칙:
* 정지를 해제할 경우, 현재 종료일에서 중지 기간(중지 종료일 - 중지 시작일 + 1일)을 빼서 종료일을 단축합니다.
* 중지 기간이 0일인 경우 등 예외 상황에 대한 명시적 검증 로직은 코드 내 직접적으로 드러나지 않으나, 날짜 계산 로직이 수행됩니다.
* 데이터 포맷: 날짜 데이터는 입력 시 'yyyy.MM.dd', 저장 시 'yyyyMMdd' 형식으로 변환하여 처리합니다.

4. 연관 테이블


* daily_ticket_master: 이용권 기본 정보(이름, 금액, 사용 여부, 생성/수정 일자 등)를 저장하는 메인 테이블.
* daily_ticketing_discount_info: 이용권과 연결된 할인 혜택 코드 및 상세 정보를 저장하는 테이블.
* daily_ticketing_issuance_target: 이용권 발급 대상(회원, 임시회원 등)을 정의하는 테이블.
* daily_ticketing_issuance_day: 이용권 발급 가능 요일(월~일)을 정의하는 테이블.
* com032m: 공통 코드 매핑 테이블(그룹 코드, 사용자 카테고리, 요일 코드 등).
* com042m: 할인 혜택 상세 코드 테이블.
* com040: 기관 정보 테이블(기관명 조회용).

5. 접근 권한


로그인 사용자 전체 (단, suspendsuspendCancel 메서드 내에서 KwsUserDetailsHelper.getAuthenticatedUser()를 호출하여 현재 로그인한 사용자의 ID를 기록하므로, 실제 실행 권한은 시스템의 일반적인 인증/인가 필터에 의해 통제됨)
이용권이용권 발급내역

이용권 발급내역



평생교육 > 이용권 > 이용권 발급내역


1. 기능 개요


이용권 발급 내역을 조회하고 관리하는 화면입니다. 날짜 범위와 취소 여부 필터를 적용하여 발급된 이용권의 상세 정보(발급 번호, 상태, 회원 정보, 결제 내역 등)를 그리드 형태로 표시합니다.

2. 주요 기능 목록


* 조회 (Read): 지정된 기간(stDate ~ edDate)과 기관 코드(instCd)에 해당하는 이용권 발급 내역을 조회합니다.
* 필터링:
* 날짜 필터: 시작일과 종료일을 선택하여 해당 기간의 내역만 조회합니다.
* 취소 노출 여부 토글: '취소 미노출' 버튼을 통해 취소된 내역을 목록에서 숨기거나 표시할 수 있습니다.
* 데이터 표시: 발급번호, 상태, 이용권명, 발급 횟수, 발급/이용/취소 일시, 회원 식별 정보(이름, 아이디, 생년월일, 성별, 연락처), 발급처, 결제 수단, 혜택, 기관명 등의 컬럼을 제공합니다.
* 검색 조건 저장: 조회 시 입력한 날짜 정보를 쿠키에 저장하여 다음 접속 시 기본값으로 적용합니다.

3. 비즈니스 규칙


* 조회 API 호출: /admin/common/selectDataList.do 엔드포인트를 통해 ticketMngDAO.selectTicketIssuanceHistory 쿼리 ID를 사용하여 데이터를 가져옵니다.
* 취소 내역 노출 로직:
* '취소 미노출' 버튼이 활성화되어 있으면 isViewCanceledData 파라미터에 "Y"를 전달하여 취소된 내역도 조회합니다.
* 비활성화 상태(기본값)이면 "N"을 전달하여 취소된 내역은 제외하고 조회합니다.
* 기본 날짜 설정: 초기 로딩 시 시작일과 종료일은 현재 날짜(new Date())로 설정됩니다.
* 필터링 파라미터: 조회 시 instCd(기관코드)는 세션에서 가져온 로그인 사용자의 기관 코드를 기준으로 필터링됩니다.

4. 연관 테이블


* 이용권 발급 내역 테이블 (추정 명칭: TICKET_ISSUE_HISTORY 또는 유사명)
* 용도: 이용권의 발급 이력, 상태, 회원 정보, 결제 정보 등을 저장하는 주요 테이블입니다.
* 참고: 코드상 직접적인 테이블 명칭은 명시되지 않았으나, ticketMngDAO.selectTicketIssuanceHistory 쿼리를 통해 접근하는 것으로 보입니다.

5. 접근 권한


* 로그인 사용자 전체 (단, sessionScope.loginVO.instCd를 참조하므로, 해당 기관의 관리자 또는 권한이 부여된 사용자만 접근 가능할 것으로 추정됩니다. 코드 내 별도 권한 체크 로직은 보이지 않음)