[JAVA] 기능 구현 | 결재
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 헤더를 세팅함으로써 다행히도 해결할 수 있었다. 결재를 처리하기 위해서는 다양한 프로세스를 거쳤어야 했는데, 이번 경험을 통해 프로세스를 탄다는 걸 몸소 느낄 수 있었던 것 같다.