125 lines
3.1 KiB
Plaintext
125 lines
3.1 KiB
Plaintext
= Knox 상신
|
|
|
|
== 결재 Entity Class 생성 및 설정
|
|
|
|
결재 기능을 구현해야 하는 업무의 Entity Class를 생성하고 Annotation을 설정하고 기본 결재 Class를 상속 받는다.
|
|
|
|
[source,java]
|
|
----
|
|
@Data
|
|
@EqualsAndHashCode(callSuper = true)
|
|
@ApprovalDocument(docType = "knoxSample", description = "Sample Approval Doc. (Knox)", approvalClass = Approval.class, templateEngine = TemplateEngineType.VELOCITY,
|
|
templateFile = "/templates/approval/approval-sample.vm", docSecuType = ApprovalDocSecuType.PERSONAL,
|
|
isArbitrary = true, bodyType = ApprovalBodyType.MIME)
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public class KnoxApprovalSampleDocument extends DefaultApprovalDocument {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private String docId;
|
|
private String contents;
|
|
private String creator;
|
|
}
|
|
----
|
|
|
|
업무프로세스 Entity Class 에 @ApprovalDocument 을 달아 주고 DefaultApprovalDocument를 상속 받아야만 결재 Object 라는 것을 결재 모듈에서 알수 있다.
|
|
|
|
=== @ApprovalDocument
|
|
|
|
@ApprovalDocument를 이용해 결재 문서의 속정을 정의한다.
|
|
|
|
[cols=5]
|
|
|====
|
|
|props명
|
|
|필수여부
|
|
|Type
|
|
|Default
|
|
|설명
|
|
|
|
|docType
|
|
|필수
|
|
|String
|
|
|
|
|
|사용자가 식별할수 있는 이름
|
|
|
|
|description
|
|
|필수
|
|
|String
|
|
|
|
|
|결재 문서에 대한 설명
|
|
|
|
|approvalClass
|
|
|필수
|
|
|class
|
|
|Approval.class
|
|
|결재 문서를 DB에 저장할때 사용하는 클래스명
|
|
|
|
|templateEngine
|
|
|필수
|
|
|TemplateEngineType
|
|
|VELOCITY
|
|
|결재 본문 파싱에 필요한 템플릿 엔진. THYMELEAF, VELOCITY 2개의 템플릿 엔진을 사용할 수 있다.
|
|
|
|
|templateFile 또는 templateKey
|
|
|필수
|
|
|String
|
|
|
|
|
|templateFile: 템플릿 파일 이름을 경로와 확장자 포함해서 설정한다. +
|
|
tempageKey: 결재양식 관리 메뉴에서 지정한 key
|
|
|
|
|docSecuType
|
|
|
|
|
|ApprovalDocSecuType
|
|
|PERSONAL
|
|
|결재 문서의 보안 형태
|
|
|
|
|isBodyModify
|
|
|
|
|
|boolean
|
|
|true
|
|
|문서의 기본 결재 본문 수정 true일 때만 UI에서 수정 가능
|
|
|
|
|
|
|isRouteModify
|
|
|
|
|
|boolean
|
|
|true
|
|
|문서의 기본 결재 경로 수정 true일 때만 UI에서 수정 가능
|
|
|
|
|isArbitrary
|
|
|
|
|
|boolean
|
|
|false
|
|
|문서의 기본 결재 전결 true일 때만 UI에서 수정 가능
|
|
|
|
|bodyType
|
|
|
|
|
|ApprovalBodyType
|
|
|MIME
|
|
|전송할 문서의 형태 TEXT, HTML, MIME
|
|
|
|
|isInternalApproval
|
|
|
|
|
|boolean
|
|
|false
|
|
|true: 내부결재, false: Knox결재
|
|
|
|
|====
|
|
|
|
== 결재 본문 등록
|
|
|
|
결재 본문은 VELOCITY 또는 THYMELEAF 로 등록 할 수 있다. +
|
|
SDL에서 제공하는 결재 샘플에서는 VELOCITY 파일로 제공하고 있으며 vm 파일을 작성하고, +
|
|
위의 Entity Class 샘플에서와 같이 `@ApprovalDocument` 의 `templateEngine=엔진타입` 과 `templateFile="템플릿파일경로"` 값을 등록한다.
|
|
|
|
|
|
== 결재 상신
|
|
|
|
=== 결재 상신 UI
|
|
|
|
샘플 문서를 등록 하고나면 상세하면 하단에 결재 경로를 설정할 수 있는 결재 스텝을 입력 받는 Component가 표시된다. +
|
|
결재 문서 화면 개발시 이 Component를 붙여서 상신 기능을 구현한다.
|
|
|
|
image::approvalSumit_01.png[]
|
|
|