= 역할 관리 == 개요 역할을 등록하고, 해당 역할에 사용자 및 업무그룹을 Mapping 한다. == UI Design & Function === 역할 목록(RoleList.vue) 역할 등록, 수정 및 조회. + 조회된 목록의 사용자/업무그룹 컬럼을 클릭하여 역할-사용자, 역할-업무그룹 상세 화면으로 이동한다. image::roleList.png[역할 관리] * 기능 설명 . 역할 목록 조회 . 역할 등록 : 역할 정보를 입력하는 Popup이 호출 되며 정보 기입 후 저장 버튼을 클릭하여 등록한다. . 역할 수정 : 선택된(checkbox : true) 역할 정보를 수정하는 Popup이 호출 되며, 정보 기입 후 저장 버튼을 클릭하여 수정한다. . 역할 삭제 : 선택된(checkbox : true) 역할 목록을 삭제한다. . 엑셀 다운로드 : 조회 조건과 동일한 역할 목록을 엑셀 파일로 다운로드 한다. === 역할-사용자 관리(RoleUserInfo.vue) 선택한 역할에 대한 사용자 추가. + 역할에 대한 사용자가 많을 경우를 대비하여 상단에 페이징 처리 되는 Grid를, 하단에는 사용자를 추가하는 Grid로 나누어 화면을 구성된다. image::roleUserInfo.png[역할-사용자 관리] * 기능 설명 . 역할-사용자 목록 조회 . 역할-사용자 등록 : 추가 버튼 클릭시 사용자 조회 Popup이 호출 되며 사용자 선택 후 추가된 하단의 사용자 목록에서 저장한다. . 역할-사용자 수정 : 기등록된 상단 사용자 목록에서 역할 적용 기간을 수정한다. . 역할-사용자 삭제 : 기등록된 상단 사용자 목록에서 선택된(checkbox : true) 사용자 목록을 삭제한다. === 역할-업무그룹 관리(RoleWorkgroupInfo.vue) 선택한 역할에 대한 업무그룹 추가. image::roleWorkgroupInfo.png[역할-업무그룹 관리] * 기능 설명 . 역할-업무그룹 목록 조회 . 역할-업무그룹 등록 : 추가 버튼 클릭시 업무그룹 조회 Popup이 호출 되며 업무그룹을 선택 하여 등록 할 수 있다. . 역할-업무그룹 삭제 : 기등록된 상단 업무그룹 목록에서 선택된(checkbox : true) 업무그룹 목록을 삭제한다. == API & Service === API * API : RoleController.java . 역할 목록 조회 : GET /roles-with-paging . 역할 상세정보 조회 : GET /roles/{roleId} . 역할 등록 : POST /roles . 역할 수정 : PUT /roles . 역할 삭제 : DELETE /roles . 역할-사용자 목록 조회 : GET /roles/{roleId}/users-with-paging . 역할-사용자 등록 : POST /roles/{roleId}/users . 역할-사용자 수정 : PUT /roles/{roleId}/users . 역할-사용자 삭제 : DELETE /roles/{roleId}/users . 역할-업무그룹 목록 조회 : GET /roles/{roleId}/workgroups . 역할-업무그룹 등록 : POST /roles/{roleId}/workgroups . 역할-업무그룹 삭제 : DELETE /roles/{roleId}/workgroups == Entity Table & SQL === Entity Table * TN_CF_ROLE : 역할 * TN_CF_USER_ROLE : 역할-사용자 맵핑 * TN_CF_WORKGROUP_ROLE : 역할-업무그룹 맵핑 === SQL . 역할 목록 조회 [source,xml] ---- SELECT FROM --생략-- ---- [start=3] . 역할 등록 [source,xml] ---- INSERT INTO () --생략-- ---- [start=4] . 역할 수정 [source,xml] ---- UPDATE SET ROLE_NAME = #{roleName}, --생략-- ---- [start=5] . 역할 삭제 [source,xml] ---- UPDATE SET DELETE_YN = 1, --생략-- ---- [start=6] . 역할-사용자 목록 조회 [source,xml] ---- SELECT W.WORKGROUP_ID, W.WORKGROUP_NAME, W.DESCRIPTION, W.LABEL --생략-- ---- [start=11] . 역할-업무그룹 등록 [source,xml] ---- INSERT INTO (WORKGROUP_ID, USER_ROLE_ID, FROM_DATE, THRU_DATE, ROLE_ID, USER_ID, --생략-- ---- [start=12] . 역할-업무그룹 삭제 [source,xml] ---- DELETE FROM WHERE WORKGROUP_ID = #{workgroupId} --생략-- ----