카테고리 없음

[JAVA] 기능 구현 | 결재

mnmnm969 2025. 3. 18. 09:50

2024-10-10()

 

1. CASE

결재 올리는 방식을 변경해야 했다. 이유는 각기 운영되고 있는 프로그램들이 하나의 결재 시스템을 사용하다 보니, 결재를 승인하는 부분에 있어 난립이 일어난다는 것이었다. 그래서 결재 승인 방식을 통합하여 사용 및 관리의 편의성을 높이기로 했다. 사전 설정 및 기본 구조와 함께 개발 가이드라인이 제공되었기 때문에 프로젝트의 환경에 맞게 개발하면 되는 상황이었다.

 

2. How to Use

 

[ 결재 관련 파일 ]

1) 결재.java

- 결재 주 컨트롤러

- 결재 전 처리 / 결재 후 처리 / 결재 후 화면 처리

 

2) 승인 PDF.java

- PDF 생성 세팅 메소드

 

3) PDF 생성.java

- 상신 PDF 양식 템플릿 호출

 

4) 승인 Func.java

- 파일 다운로드 처리

 

5) 템플릿.html

 

[ 프로세스 ]

1) 결재 화면

- import된 결재.java에서 메소드가 실행됨

 

2) 결재.java

- 결재 전 처리 메소드가 실행됨

 

① 결재 히스토리 테이블 INSERT

② PDF 생성

③ 결재 시스템에서 파라미터 조회

- 결재 문서 PDF 경로 조회

④ 첨부파일 있을 시, 데이터 가공

 

3. Reviewww

입사 후 처음으로 맞는 큰 난관이었다. 개발 가이드라인이 있지만 그대로 적용해도 안된다는 것은 개발을 해봤던 사람이라면 모두 알 거라고 생각한다.. 특히 시큐리티에서 CORS으로 고난을 겪었다. 나는 서버를 제어할 수 있는 프로젝트였기 때문에 Access-Control-Allow-Origin 헤더를 세팅함으로써 다행히도 해결할 수 있었다. 결재를 처리하기 위해서는 다양한 프로세스를 거쳤어야 했는데, 이번 경험을 통해 프로세스를 탄다는 걸 몸소 느낄 수 있었던 것 같다.