Initial commit
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
= 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[]
|
||||
|
||||
Reference in New Issue
Block a user