====== 협업- 주소록관리 ======
===== 개요 =====
시스템에 속한 다른 사용자의 정보나, 명함의 정보를 조회하여 사용자의 주소록에 등록하거나 자신의 주소록을 개인별, 부서별, 회사별로 공개하여 다른 사용자가 활용할 수 있도록 하는 기능을 제공한다.
{{:egovframework:com:cop:adressBook.png|기능흐름표}}
주소록을 등록하여 활용하는 방법은 직접 등록하는 방법과 다른 사람이 부서 및 회사로 공개 지정하여 등록한 주소록들을 조회한 후 사용을 할 수가 있다. 본인이 직접 등록하면서 공개여부를 부서 혹은 회사로 한 주소록은 같은 부서원들, 회사구성원들에게 공개되어 활용이 될 수 있다.
===== 설명 =====
주소록관리는 주소록을 생성하는 **[[#주소록등록]]** 기능, 등록한 주소록 및, 사용자가 열람할수 있는 주소록을 조회할수 있는**[[#주소록 목록조회]]** 기능, 내가 등록한 주소록을 조회하고 수정할수 있는 **[[#주소록 조회수정]]** 기능의 3가지 기능을 제공한다.
== 관련소스 ==
^유형^대상소스^비고^
|Controller|egovframework.com.cop.adb.web.EgovAdressBookController.java|주소록 관리를 위한 컨트롤러 클래스|
|Controller|egovframework.com.cop.adb.web.EgovMblAdressBookController.java|모바일 주소록 관리를 위한 컨트롤러 클래스|
|Service|egovframework.com.cop.adb.service.EgovAdressBookService.java|주소록 관리를 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.cop.adb.service.impl.EgovAdressBookServiceImpl.java|주소록 관리를 위한 서비스 구현 클래스|
|VO|egovframework.com.cop.adb.service.AdressBook.java|주소록 관리를 위한 모델 클래스|
|VO|egovframework.com.cop.adb.service.AdressBookUser.java|주소록구성원 관리를 위한 모델 클래스|
|VO|egovframework.com.cop.adb.service.AdressBookVO.java|주소록 관리를 위한 VO 클래스|
|DAO|egovframework.com.cop.adb.service.impl.AdressBookDAO.java|주소록 관리를 위한 데이터처리 클래스|
|JSP|/WEB-INF/jsp/egovframework/com/cop/adb/EgovAdressBookRegist.jsp.jsp|주소록 등록을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/adb/EgovAdressBookUpdt.jsp.jsp|생성된 주소록 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/adb/EgovAdressBookList.jsp.jsp|조회가능한 주소록 조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/adb/EgovMyAdressBookPopup.jsp|주소록구성원을 조회 등록시키기 위한 팝업 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/adb/EgovAdressBookMainList.jsp|마이페이지 구성을 위한 목록 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/adb/EgovAdressBookRegist.jsp.jsp|주소록 등록을 위한 모바일 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/adb/EgovAdressBookUpdt.jsp.jsp|생성된 주소록 수정을 위한 모바일 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/adb/EgovAdressBookList.jsp.jsp|조회가능한 주소록 조회를 위한 모바일 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/adb/EgovMyAdressBookPopup.jsp|주소록구성원을 조회 등록시키기 위한 팝업 모바일 jsp페이지|
|Query XML|resources/egovframework/sqlmap/com/cop/adb/EgovNcrd_SQL.xml|주소록 관리를 Query 파일|
== 관련 클래스다이어그램 ==
{{:egovframework:com:cop:adressBookClass.png|클래스다이어그램}}
== 관련테이블 ==
^테이블명^테이블명(영문)^비고^
|주소록정보속성|COMTNADBK|주소록의 속성정보를 관리|
|주소록구성원속성|COMTNADBKUSER|주소록의 사용정보를 관리|
===== 환경설정 =====
본 기능은 전자정부 표준프레임워크 실행환경의 **[[egovframework:rte:fdl:id_generation|ID Generation]]** 기능을 활용하여 구성되어있다.
==== 관련 설정 사항 ====
* ID Generation Service에서 사용할 테이블 및 필드 생성
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 ADBK_ID , ADBKUSER_ID 항목을 추가해야 한다. 테이블이 생성되어 있는 경우라면 인서트 구문만을 수행한다.
CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL,
next_id DECIMAL(30) NOT NULL,
PRIMARY KEY (table_name));
INSERT INTO COMTECOPSEQ VALUES('ADBK_ID','0');
INSERT INTO COMTECOPSEQ VALUES('ADBKUSER_ID','0');
===== 사용방법 =====
==== 주소록 목록조회 ====
조회가 가능한 주소록 목록조회를 할 수 있는 목록조회 화면으로 이동하기 위한 URL은 다음과 같다.
/cop/adb/adbkList.mdo
^기능^URL^Controller^method^화면(JSP)^
|목록조회|/cop/adb/selectAdbkList.mdo|EgovMblAdressBookController|selectAdressBookList|.../cop/adb/EgovAdressBookList.jsp|
주소록 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 주소록명, 공개범위, 등록자명에 대해서 수행된다. 페이지당 검색 범위를 변경하고자 하는 경우
context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)
{{:egovframework:mcom:주소록목록조회.jpg|주소록 목록조회화면}}
주소록을 삭제하기 위해서는 목록에 생성되어 있는 삭제 버튼을 클릭하면 된다. 단 주소록을 작성한 등록자와 현 사용자가 일치될때에 삭제버튼이 생성이 된다.
----
==== 주소록등록 ====
주소록을 등록하기 위한 화면으로 이동하는 URL은 다음과 같다.
/cop/adb/addAdbkInf.mdo
^기능^URL^Controller^method^화면(JSP)^
|등록|/cop/adb/registAdbkInf.mdo|EgovMblAdressBookController|registadbk|.../cop/adb/EgovAdressBookRegist.jsp|
주소록에 대한 주소록명과 공개범위, 구성원 등을 선택하여 주소록을 등록한다. 등록이 성공되면 **[[#주소록 목록조회]]** 화면으로 이동한다.
{{:egovframework:mcom:주소록_등록.jpg|주소록등록화면}}
공개범위가 부서인 경우는 같은 부서원들에게, 공개범위가 회사인 경우에는 같은 회사원들에게 주소록의 내용이 공개되어 볼수 있게 된다.
----
==== 주소록 조회수정 ====
주소록을 수정하기 위한 화면으로 이동하는 URL은 다음과 같다.
/cop/adb/updateAdbkInf.mdo
^기능^URL^Controller^method^화면(JSP)^
|수정|/cop/adb/UpdateAdressBook.mdo|EgovMblAdressBookController|UpdateAdressBook|.../cop/adb/EgovAdbkUpdt.jsp|
{{:egovframework:mcom:주소록_조회수정.jpg|주소록 조회수정화면}}
주소록에 대한 상세내용을 변경한 뒤 수정 버튼을 누르면 주소록 정보가 수정되고 **[[#주소록 목록조회]]** 화면으로 이동한다.
----
==== 주소록구성원 조회팝업 ====
기등록된 사용자나 명함을 조회하여 주소록 구성원으로 선택하여 등록시킬수 있는 화면으로 이동하는 URL은 다음과 같다.
/cop/adb/openPopup.mdo
^기능^URL^Controller^method^화면(JSP)^
|조회팝업|/cop/adb/selectManList.mdo|EgovMblAdressBookController|selectUserList|.../cop/adb/EgovAdressBookPopup.jsp|
{{:egovframework:mcom:주소록구성원_조회팝업.jpg|주소록 구성원조회 팝업}}
콤보박스의 사용자목록을 명함목록으로 선택한 뒤 조회를 실시하면, 등록할 수 있는 명함에 대한 목록을 조회할 수 있다.
===== 참고자료 =====
* 실행환경 참조 : [[egovframework:rte:fdl:id_generation#Table Id Generation Service|ID Generation Service]]
* 배포 및 테스트 관련 : [[common_component_system|Common Component System]] 및 [[배포_패키지_구성안|배포 패키지 구성안]]