======  행사/이벤트/캠페인 ======

===== 개요 =====

행사/이벤트/캠페인 담당자에 대해서 정보를 제공하고, 관리자가 비승인/승인 절차를 거처  관리된다.

  * 기능흐름

{{:egovframework:com:uss:ion:ecc:행사_이벤트_캠페인_기능흐름도.jpg|}}

===== 설명 =====


==== 패키지 참조 관계 ====

행사/이벤트/캠페인 패키지는 요소기술의 공통 패키지(cmm)에 대해서만 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 달력 패키지와 함께 배포 파일을 구성한다. 

  * 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#사용자지원|사용자지원 Package Dependency]]

==== 관련소스 ====

^유형^대상소스명^비고^
|Controller|egovframework.com.uss.ion.ecc.web.EgovEventCmpgnController.java|행사/이벤트/캠페인관리 Controller Class|
|Service|egovframework.com.uss.ion.ecc.service.EgovEventCmpgnService.java|행사/이벤트/캠페인관리 Service Class|
|ServiceImpl|egovframework.com.uss.ion.ecc.service.impl.EgovEventCmpgnServiceImpl.java|행사/이벤트/캠페인관리 ServiceImpl Class|
|VO|egovframework.com.uss.ion.ecc.service.EventCmpgnVO.java|행사/이벤트/캠페인관리 VO Class|
|VO|egovframework.com.uss.ion.ecc.service.TnextrlHrVO.java|외부인사관리 VO Class|
|DAO|egovframework.com.uss.ion.ecc.service.impl.EgovEventCmpgnDAO.java|행사/이벤트/캠페인관리 Dao Class|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovEventCmpgnList.jsp|행사/이벤트/캠페인관리 목록조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovEventCmpgnRegist.jsp|행사/이벤트/캠페인관리 등록 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovEventCmpgnUpdtjsp|행사/이벤트/캠페인관리 수정 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovEventCmpgnDetail.jsp|행사/이벤트/캠페인관리 상세조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovEventCmpgnListPopup.jsp|행사/이벤트/캠페인관리 목록조회 팝업페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovTnextrlHrInfoList.jsp|외부인사관리 목록조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovTnextrlHrInfoRegist.jsp|외부인사관리 등록 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovTnextrlHrInfoUpdt.jsp|외부인사관리 수정 페이지|
|JSP|/WEB-INF/jsp/egovframework/com/uss/ion/ecc/EgovTnextrlHrInfoDetail.jsp|외부인사관리 상세조회 페이지|
|QUERY XML|resources/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn_SQL_mysql.xml|행사/이벤트/캠페인관리 MySQL용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn_SQL_cubrid.xml|행사/이벤트/캠페인관리 Cubrid용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn_SQL_oracle.xml|행사/이벤트/캠페인관리 Oracle용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn_SQL_tibero.xml|행사/이벤트/캠페인관리 Tibero용 QUERY XML|
|QUERY XML|resources/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn_SQL_altibase.xml|행사/이벤트/캠페인관리 Altibase용 QUERY XML|
|Validator XML|resources/egovframework/validator/com/uss/ion/ecc/EgovEventCmpgnRegist.xml|행사/이벤트/캠페인관리 Validator XML|
|Message properties|resources/egovframework/message/com/uss/ion/ecc/message_ko.properties|행사/이벤트/캠페인관리 Message properties(Korean)|
|Message properties|resources/egovframework/message/com/uss/ion/ecc/message_en.properties|행사/이벤트/캠페인관리 Message properties(English)|
|Idgen XML|resources/egovframework/spring/com/idgn/context-idgn-EventInfo.xml|행사/이벤트/캠페인관리 Id생성 Idgen XML|

==== 클래스 다이어그램 ==== 

{{:egovframework:com:v2:uss:행사_이벤트_캠페인_클래스다이어그램.jpg?740|}}

==== ID Generation ====
=== ID Generation 관련 DDL 및 DML ===
  * ID Generation Service를 활용하기 위해서 Sequence 저장테이블인  COMTECOPSEQ에 **EVENTINFO_ID**과 **EXTRLHRINFO_ID** 항목을 추가해야 한다. 
 <code sql>
  CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, 
  		   next_id DECIMAL(30) NOT NULL,
  		   PRIMARY KEY (table_name));

  INSERT INTO COMTECOPSEQ VALUES('EVENTINFO_ID','0');
  INSERT INTO COMTECOPSEQ VALUES('EXTRLHRINFO_ID','0');
 </code>


=== ID Generation 환경설정(context-idgn-EventInfo.xml) ===
<code xml>
	<bean name="egovEventInfoIdGnrService"
		class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
		destroy-method="destroy">
		<property name="dataSource" ref="egov.dataSource" />
		<property name="strategy" ref="mgtEventInfotrategy" />
		<property name="blockSize" 	value="10"/>
		<property name="table"	   	value="COMTECOPSEQ"/>
		<property name="tableName"	value="EVENTINFO_ID"/>
	</bean>
	<bean name="mgtEventInfotrategy"
		class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
		<property name="prefix" value="EVENT_" />
		<property name="cipers" value="14" />
		<property name="fillChar" value="0" />
	</bean>	

	<bean name="egovExtrlhrInfoIdGnrService"
		class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
		destroy-method="destroy">
		<property name="dataSource" ref="egov.dataSource" />
		<property name="strategy" ref="mgtExtrlhrInfotrategy" />
		<property name="blockSize" 	value="10"/>
		<property name="table"	   	value="COMTECOPSEQ"/>
		<property name="tableName"	value="EXTRLHRINFO_ID"/>
	</bean>
	<bean name="mgtExtrlhrInfotrategy"
		class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
		<property name="prefix" value="EXTRLHR_" />
		<property name="cipers" value="12" />
		<property name="fillChar" value="0" />
	</bean>
</code>



==== 관련테이블 ====

^테이블명^테이블명(영문)^비고^
|행사/이벤트/캠페인관리|COMTNEVENTINFO|행사/이벤트/캠페인를 관리 한다.|	
|외부인사관리|COMTNEXTRLHRINFO|외부인사를 관리 한다.|	

===== 관련기능 =====
행사/이벤트/캠페인관리기능은 크게 **행사/이벤트/캠페인 목록조회**, **행사/이벤트/캠페인 상세조회**, **행사/이벤트/캠페인 내용등록**, **행사/이벤트/캠페인 내용수정**기능으로 구성되어 있다.

==== 행사/이벤트/캠페인 목록조회 ====

=== 비즈니스 규칙 ===
관리자가 기(記) 등록된 행사/이벤트/캠페인 정보를 리스트 형태로 조회 할 수 있고, 등록버튼을 클릭하여 등록화면으로 이동할수있다.

=== 관련코드  ===
N/A

=== 관련화면 및 수행매뉴얼 ===

^Action^URL^Controller method^SQL Namespace^SQL QueryID^
|조회화면|/uss/ion/ecc/selectEventCmpgnList.do|selectEventCmpgnList|"EventCmpgn"|"selectEventCmpgnList"|
| | | |"EventCmpgn"|"selectEventCmpgnListCnt"|

행사/이벤트/캠페인 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. 
검색조건은 회의명, 회의내용에 대해서 수행된다.\\ 페이지 당 검색 범위를 변경하고자 하는 경우 \\
context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)

{{:egovframework:com:v3.6:uss:ion:ecc:eventcmpgn_list.png|}}

조회: 조회하기 위해서는 상단의 검색조건을 선택 후 해당하는 검색문자를 입력 후 조회 버튼을 클릭한다.\\
등록: 등록하기 위해서는 상단의 등록 버튼을 통해서 **행사/이벤트/캠페인 등록** 화면으로 이동한다. \\
목록클릭: **행사/이벤트/캠페인 상세조회** 화면으로 이동한다.




==== 행사/이벤트/캠페인 상세조회 ====

=== 비즈니스 규칙 ===
행사/이벤트/캠페인 목록에서 목록 클릭 시 이동되는 화면으로 행사/이벤트/캠페인에 대한 상세정보를 보여준다.


=== 관련코드  ===
N/A

=== 관련화면 및 수행매뉴얼 ===

^Action^URL^Controller method^SQL Namespace^SQL QueryID^
|상세화면|/uss/ion/ecc/selectEventCmpgnDetail.do|selectEventCmpgnDetail|"EventCmpgn"|"selectEventCmpgnDetail"|
|삭제|/uss/ion/ecc/deleteEventCmpgn.do|deleteEventCmpgn|"EventCmpgn"|"deleteEventCmpgn"|

{{:egovframework:com:v3.6:uss:ion:ecc:eventcmpgn_detail.png|}}

수정: 수정버튼 클릭 시 **행사/이벤트/캠페인 수정** 화면으로 이동한다. \\
삭제: 삭제버튼 클릭 시 삭제여부를 확인하는 메세지를 보여주고 삭제처리를 할 수 있다. \\
목록: **행사/이벤트/캠페인 목록** 화면으로 이동한다.



==== 행사/이벤트/캠페인 등록 ====

=== 비즈니스 규칙 ===
행사/이벤트/캠페인에 관한 기본정보를 입력 저장처리한다. 입력명 우측의 빨간* 표시는 반드시 입력해야할 항목을 표시한다. \\
	

=== 관련코드  ===
N/A

=== 관련화면 및 수행매뉴얼 ===


^Action^URL^Controller method^SQL Namespace^SQL QueryID^
|등록화면|/uss/ion/ecc/insertEventCmpgnView.do|insertEventCmpgnView| | |
|등록|/uss/ion/ecc/insertEventCmpgn.do|insertEventCmpgn|"EventCmpgn"|"insertEventCmpgn"|

{{:egovframework:com:v3.6:uss:ion:ecc:eventcmpgn_regist.png|}}

목록: **행사/이벤트/캠페인 목록** 화면으로 이동한다. \\
저장: 입력한 행사/이벤트/캠페인 정보들이 저장 처리된다. \\



==== 행사/이벤트/캠페인 수정 ====

=== 비즈니스 규칙 ===
입력한 행사/이벤트/캠페인 정보를(을) 저장 처리한다. 입력명 우측의 빨간* 표시는 수정 시 반드시 입력해야 할 항목을 표시한다. \\


=== 관련코드  ===
N/A


=== 관련화면 및 수행매뉴얼 ===

^Action^URL^Controller method^SQL Namespace^SQL QueryID^
|수정화면|/uss/ion/ecc/updateEventCmpgnView.do|updateEventCmpgnView|"EventCmpgn"|"selectEventCmpgnDetail"|
|수정|/uss/ion/ecc/updateEventCmpgn.do|updateEventCmpgn|"EventCmpgn"|"updateEventCmpgn"|

{{:egovframework:com:v3.6:uss:ion:ecc:eventcmpgn_updt.png|}}

저장: 수정된 정보들이 저장 처리된다.  \\ 
목록: **행사/이벤트/캠페인 목록** 화면으로 이동한다. \\