= 결재 경로 관리

== 개요
시스템의 결재 문서 샘플을 RUNTIME 동안 가지고 있다가 결재시에 사용한다.

* ApprovalManager.java -> ApprovalDocument.java -> SampleApprovalDocument.java
. ApprovalManager : @ApprovalDocument라는 어노테이션이 달린 클래스를 찾는다.
. SampleApprovalDocument : 결재경로 관리 목록에 결재 문서 샘플을 보여준다.

== Table
* 결재 경로 : TN_CF_DYNAMIC_APPROVAL_PATH
* 필수 결재자 : TN_CF_REQUIRED_APPROVAL_USER

== API
.ApprovalController.java

. 시스템 전체 결재 문서 조회 +
GET /approval/approval-doc-types

. 결재 경로 조회 +
GET /approval/dynamic-approval-paths/{docType} +
Query ID : selectDynamicApprovalPath
* 기본결재 경로 목록을 보여준다.

. 결재 경로 저장 +
POST /approval/dynamic-approval-paths/{docType} +
Query ID : deleteDynamicApprovalPath, insertDynamicApprovalPath

. 필수 결재자 목록 조회 +
GET /approval/required-approval-users/{docType} +
Query ID : selectRequiredApprovalUserList
* 필수 결재자 목록을 보여준다.

. 필수 결재자 저장 +
POST /approval/required-approval-users/{docType} +
Query ID : deleteRequiredApprovalUser, insertRequiredApprovalUser

== 화면
지정된 문서타입에 따른 결재경로를 관리기능 > 결재/메일 관리 > 결재경로 관리를 통해 지정할 수 있다.

image::front_07_04.png[]
* 지정된 문서타입 목록을 확인할 수 있다.

image::front_07_05.png[]
* 문서타입을 선택 후 해당 문서에 대한 기본 결재경로와 필수 결재자를 추가할 수 있다.
* 결재 상신시 결재자 목록에 지정된 기본결재 경로가 자동 추가되며, 지정된 필수 결재자가 있는 경우 추가하라는 알림을 준다. (다수중 1인 가능)
