====== 사용자 지원 - 행사/이벤트/캠페인 ======
===== 개요 =====
**행사/이벤트/캠페인** 서비스는 행사, 이벤트, 캠페인에 대한 일정 및 내용을 관리하는 기능을 제공한다.\\
행사/이벤트/캠페인 등록 시에는 Validator Rule을 통해 필수항목에 대한 조건을 검사하며, \\
Validator Rule은 **Valator-rules.xml**과 미리 정의된 컴포넌트 Validator xml을 통해 적용된다. \\
**행사/이벤트/캠페인** 서비스는 **HTML5**, **jQuery**와 함께 **jQM(jQuery Mobile)**을 바탕으로 개발된 모바일 공통 컴포넌트이다. \\
자세한 사항은 [[http://www.egovframe.go.kr/html/egovframework/mbl/mguide/mguide.html|모바일 실행환경 가이드]]를 통해 안내되고 있다. \\
컴포넌트와 관련된 css로는 기본적으로 적용되는 **EgovMobile.css**와 함께 **egovBoard.css**, **ussCommon.css**가 사용된다.\\
또한 공통으로 지원하고 있는 jAlert와 날짜/시간을 위한 datebox가 사용되고 있으며, 아래와 같은 js 파일에 정의되어 있다.
* **EgovMobile.js**
* **jquery.mobile.datebox.js**
==== 지원대상 ====
본 컴포넌트는 모바일 디바이스에서 사용 가능한 브라우저를 대상으로 개발 및 테스트를 완료하였으며 \\
PC용 브라우저와 mobile용 브라우저의 HTML5, CSS3 에 대한 지원이 상이함으로 개발, 적용 시에 주의가 필요하다.
개발 및 테스트를 위해 갤럭시S2, 갤럭시S, 갤럭시탭, iPad2, iPhone4 등의 모바일 기기와 \\
Android 기본 브라우저, Firefox, Safari, Opera Mobile 등의 모바일 브라우저를 사용하였다.
=== Android ===
테스트 디바이스로는 갤럭시S, 갤럭시S2, 갤럭시탭을 사용하였으며,\\
브라우저는 Android 기본 브라우저, Firefox(6.xx), Opera Mobile 브라우저를 사용하였다.\\
* Android OS 2.3 (GingerBread) : HTML5, CSS3 및 컴포넌트의 실행을 안정적으로 지원하였다.
* Android OS 2.1 (Eclair), 2.2 (Froyo) : HTML5, CSS3 지원이 부족하여 컴포넌트의 UI 구현이 원할하지 못하였다.
하지만, Opera Mobile의 경우에는 색상 및 이벤트 처리에 일부 문제가 발생하여 3종지원 브라우저 대상에서 제외되었다.\\
=== iOS ===
테스트 디바이스로는 iPhone4, iPad2를 사용하였다.
* iOS 4.2, 4.3 : 두 버전 모두 HTML5, CSS3를 비교적 원활하게 지원하였다. \\
==== 기능흐름도 ====
{{:egovframework:mcom:행사_이벤트_캠페인_기능흐름도.jpg?740|}}
===== 설명 =====
행사/이벤트/캠페인 기능은 크게 **행사/이벤트/캠페인 목록조회**, **행사/이벤트/캠페인 상세조회**, **행사/이벤트/캠페인 내용등록**, **행사/이벤트/캠페인 내용수정** 기능으로 구성되어 있다.
== 클래스 다이어그램 ==
{{:egovframework:mcom:CLD_행사이벤트캠페인.JPG?740|}}
== 관련소스 ==
^유형^대상소스명^비고^
|Controller|egovframework.com.uss.ion.ecc.web.EgovEventCmpgnController.java|행사/이벤트/캠페인관리 Controller Class|
|Controller|egovframework.mbl.com.uss.ion.ecc.web.EgovEventMblCmpgnController.java|행사/이벤트/캠페인관리 Mobile Controller Class|
|Service|egovframework.com.uss.ion.ecc.service.EgovEventCmpgnService.java|행사/이벤트/캠페인관리 Service Class|
|VO|egovframework.com.uss.ion.ecc.service.EventCmpgnVO.java|행사/이벤트/캠페인관리 VO Class|
|VO|egovframework.com.cmm.ComDefaultVO.java|검색 VO Class|
|ServiceImpl|egovframework.com.uss.ion.ecc.service.impl.EgovEventCmpgnServiceImpl.java|행사/이벤트/캠페인관리 ServiceImpl Class|
|DAO|egovframework.com.uss.ion.ecc.service.impl.EventCmpgnDao.java|행사/이벤트/캠페인관리 Dao Class|
|JSP|/WEB-INF/jsp/egovframework/uss/ion/ecc/EgovEventCmpgnList.jsp|행사/이벤트/캠페인관리 목록조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/uss/ion/ecc/EgovEventCmpgnRegist.jsp|행사/이벤트/캠페인관리 등록 페이지|
|JSP|/WEB-INF/jsp/egovframework/uss/ion/ecc/EgovEventCmpgnModify.jsp|행사/이벤트/캠페인관리 수정 페이지|
|JSP|/WEB-INF/jsp/egovframework/uss/ion/ecc/EgovEventCmpgnDetail.jsp|행사/이벤트/캠페인관리 상세조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/uss/ion/ecc/EgovEventCmpgnList.jsp|모바일행사/이벤트/캠페인관리 Mobile 목록조회 페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/uss/ion/ecc/EgovEventCmpgnRegist.jsp|행사/이벤트/캠페인관리 Mobile 등록 페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/uss/ion/ecc/EgovEventCmpgnModify.jsp|행사/이벤트/캠페인관리 Mobile 수정 페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/uss/ion/ecc/EgovEventCmpgnDetail.jsp|행사/이벤트/캠페인관리 Mobile 상세조회 페이지|
|QUERY XML|/egovframework/sqlmap/com/uss/ion/ecc/EgovEventCmpgn.xml|행사/이벤트/캠페인관리 QUERY XML|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML|
|Validator XML|resources/egovframework/validator/com/uss/ion/ecc/EgovEventCmpgn.xml|행사/이벤트/캠페인관리 Validator XML|
|Message properties|resources/egovframework/message/message-common_ko_KR.properties|행사/이벤트/캠페인관리 Message properties|
|Idgen XML|resources/egovframework/spring/context-idgen.xml|행사/이벤트/캠페인관리 Id생성 Idgen XML|
== ID Generation ==
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 EVENTINFO_ID 항목을 추가해야 한다.
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');
== 관련테이블 ==
^테이블명^테이블명(영문)^비고^
|행사/이벤트/캠페인관리|COMTNMTGINFO|행사/이벤트/캠페인를 관리 한다.|
===== 관련기능 =====
==== 행사/이벤트/캠페인 목록조회 ====
=== 비즈니스 규칙 ===
행사내용, 작성자를 검색조건으로 목록조회를 할 수 있으며, 등록버튼을 클릭하여 행사/이벤트/캠페인 등록 화면으로 이동할 수 있다. \\
행사내용, 작성자명을 검색조건으로 사용한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|조회|/uss/ion/ecc/EgovEventCmpgnList.mdo|EgovEventCmpgnList|"EventCmpgn.selectEventCmpgn"|
| | | |EventCmpgn.selectEventCmpgnCnt|
|등록|/uss/ion/ecc/EgovEventCmpgnRegist.mdo|EventCmpgnRegist| |
|목록클릭|/uss/ion/ecc/EgovEventCmpgnDetail.mdo|EgovEventCmpgnDetail|"EventCmpgn.selectEventCmpgnDetail"|
행사/이벤트/캠페인 목록은 페이지 당 10건씩 조회되며 페이징은 1페이지씩 이루어진다. \\
{{:egovframework:mcom:EgovEventCmpgnList1.jpg|}}
{{:egovframework:mcom:EgovEventCmpgnList2.jpg|}}
홈: 홈 화면으로 이동한다. \\
등록: 행사/이벤트/캠페인을 등록하기 위해서는 상단의 등록 버튼을 통해서 **행사/이벤트/캠페인 등록** 화면으로 이동한다. \\
검색: 행사/이벤트/캠페인을 조회하기 위해서는 상단의 검색조건을 선택하고 해당하는 검색문자를 입력 후 검색 버튼을 클릭한다. \\
목록클릭: **행사/이벤트/캠페인 상세조회** 화면으로 이동한다.
----
==== 행사/이벤트/캠페인 상세조회 ====
=== 비즈니스 규칙 ===
행사/이벤트/캠페인 목록조회 화면에서 목록 클릭시 이동되는 화면으로서 행사/이벤트/캠페인에 대한 일정 및 내용정보를 보여준다. \\
행사/이벤트/캠페인 상세조회 화면에서는 행사/이벤트/캠페인에 대한 수정, 삭제, 목록조회 처리를 할 수 있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록|/uss/ion/ecc/EgovEventCmpgnList.mdo|EgovEventCmpgnList|"EventCmpgn.selectEventCmpgn"|
| | | |EventCmpgn.selectEventCmpgnCnt|
|수정|/uss/ion/ecc/EgovEventCmpgnDetail.mdo|EgovEventCmpgnDetail|"EventCmpgn.selectEventCmpgnDetail"|
|삭제|/uss/ion/ecc/EgovEventCmpgnModify.mdo|EgovEventCmpgnModify|"EventCmpgn.deleteEventCmpgn"|
{{:egovframework:mcom:EgovEventCmpgnDetail.jpg|}}
뒤로: **행사/이벤트/캠페인 목록조회** 화면으로 이동한다. \\
수정: 수정버튼 클릭 시 행사/이벤트/캠페인을 수정할 수 있는 **행사/이벤트/캠페인 수정** 화면으로 이동한다. \\
삭제: 삭제버튼을 클릭하면 삭제여부를 확인하는 메세지를 보여주고 행사/이벤트/캠페인에 대한 내용을 삭제처리 한다. 삭제처리 후에는 행사/이벤트/캠페인 목록조회 화면으로 이동한다.\\
목록: **행사/이벤트/캠페인 목록조회** 화면으로 이동한다.
----
==== 행사/이벤트/캠페인 등록 ====
=== 비즈니스 규칙 ===
행사/이벤트/캠페인에 관한 기본정보를 등록하며, 등록이 성공적으로 처리되면 행사/이벤트/캠페인 목록조회 화면으로 이동된다. \\
저장처리 시 EVENTINFO_ID 컬럼은 "egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"를 통하여 Primary Key => EVENTINFO_ID(20자리) : EVENT_(6자리) + 일련번호(14자리)로 자동생성 부여된다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록|/uss/ion/ecc/EgovEventCmpgnList.mdo|EgovEventCmpgnList|"EventCmpgn.selectEventCmpgn"|
| | | |EventCmpgn.selectEventCmpgnCnt|
|저장|/uss/ion/ecc/EgovEventCmpgnRegist.mdo|EventCmpgnRegist|"EventCmpgn.insertEventCmpgn"|
{{:egovframework:mcom:EgovEventCmpgnRegist1.jpg|}}
{{:egovframework:mcom:EgovEventCmpgnRegist2.jpg|}}
뒤로: **행사/이벤트/캠페인 목록조회** 화면으로 이동한다. \\
등록: 입력한 정보들이 저장 처리된다. \\
목록: **행사/이벤트/캠페인 목록조회** 화면으로 이동한다. \\
----
==== 행사/이벤트/캠페인 수정 ====
=== 비즈니스 규칙 ===
행사/이벤트/캠페인 상세조회 화면에서 수정버튼 클릭 시 이동되는 화면으로 행사/이벤트/캠페인에 대한 상세정보를 수정할 수 있다. \\
수정이 성공적으로 처리되면 행사/이벤트/캠페인 목록조회 화면으로 이동된다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록|/uss/ion/ecc/EgovEventCmpgnList.mdo|EgovEventCmpgnList|"EventCmpgn.selectEventCmpgn"|
| | | |EventCmpgn.selectEventCmpgnCnt|
|수정|/uss/ion/ecc/EgovEventCmpgnModify.mdo|EgovEventCmpgnModify|"EventCmpgn.updateEventCmpgn"|
{{:egovframework:mcom:EgovEventCmpgnModify1.jpg|}}
{{:egovframework:mcom:EgovEventCmpgnModify2.jpg|}}
뒤로: **행사/이벤트/캠페인 상세조회** 화면으로 이동한다. \\
저장: 수정 입력한 정보들이 저장 처리된다. \\
목록: **행사/이벤트/캠페인 목록조회** 화면으로 이동한다. \\
----
===== 참고자료 =====
* 행사/이벤트/캠페인 관리 참조(기존 웹 버전) : [[행사_이벤트_캠페인관리|행사/이벤트/캠페인 관리]]
* 실행환경 참조 : [[egovframework:rte:fdl:id_generation#Table Id Generation Service|ID Generation Service]]
* 배포 및 테스트 관련 : [[egovframework:mcom:모바일 공통컴포넌트란?|모바일 공통컴포넌트란]] 및 [[모바일_배포_패키지_구성안|배포 패키지 구성안]]