🎯 1. 시스템 개요
전자결재 시스템이란?
그누보드 기반의 전자결재 시스템은 조직 내 문서 결재 과정을 전자화하여 효율성을 높이고 관리를 체계화할 수 있는 웹 기반 솔루션입니다.
📄 다양한 문서 유형
지출결의서, 업무협조전, 품의서, 휴가신청서, 구매요청서 등 다양한 공문서를 지원합니다.
🔄 유연한 결재선
부서별, 직급별로 유연한 결재선 설정이 가능하며 템플릿 저장/불러오기 기능을 제공합니다.
🔔 실시간 알림
결재 요청, 승인, 반려 등 모든 상태 변경 시 실시간 알림을 제공합니다.
💰 지출관리
지출 항목별 상세 관리 및 합계 자동 계산 기능을 제공합니다.
시스템 요구사항
구분 |
최소 요구사항 |
권장 요구사항 |
PHP 버전 |
PHP 5.6 이상 |
PHP 7.4 이상 |
MySQL |
MySQL 5.6 이상 |
MySQL 8.0 이상 |
그누보드 |
그누보드 5.x |
그누보드 5.4 이상 |
웹서버 |
Apache 2.x 또는 Nginx |
Apache 2.4 또는 Nginx 1.18 |
🛠️ 2. 설치 및 설정
설치 과정
-
파일 업로드
approval 폴더를 그누보드 루트 디렉토리에 업로드합니다.
-
설치 페이지 접속
웹브라우저에서 http://yourdomain.com/approval/install.php에 접속합니다.
-
시스템 요구사항 확인
설치 페이지에서 자동으로 시스템 요구사항을 검사합니다.
-
데이터베이스 테이블 생성
"설치 시작" 버튼을 클릭하여 필요한 테이블들을 자동 생성합니다.
-
설치 완료
설치 완료 후 보안을 위해 install.php 파일을 삭제합니다.
⚠️ 주의사항:
• 설치 완료 후 반드시 install.php 파일을 삭제하세요.
• 데이터베이스 백업을 권장합니다.
• 서버의 파일 권한 설정을 확인하세요.
초기 설정
부서 설정
시스템 설치 후 기본 부서들이 자동으로 생성됩니다:
- CEO - 대표이사
- MGMT - 경영지원팀
- HR - 인사팀
- FIN - 재무팀
- IT - IT팀
- SALES - 영업팀
- MKT - 마케팅팀
- DEV - 개발팀
사용자 부서 설정
각 사용자의 부서 정보는 그누보드 회원 관리에서 여분필드10에 부서코드를 입력하여 설정합니다.
💡 팁:
사용자들이 회원정보 수정 페이지에서 직접 부서를 선택할 수 있도록 여분필드10을 select 박스로 설정하는 것을 권장합니다.
🚀 3. 시작하기
첫 번째 문서 작성하기
-
시스템 접속
그누보드에 로그인 후 /approval/ 경로로 접속합니다.
-
대시보드 확인
메인 대시보드에서 현재 상태를 확인할 수 있습니다.
-
새 문서 작성
"새 문서 작성" 버튼을 클릭하거나 문서 유형별 바로가기를 이용합니다.
-
결재선 설정
문서에 적합한 결재자들을 순서대로 지정합니다.
-
문서 작성 완료
내용 작성 후 임시저장 또는 상신을 선택합니다.
결재 처리하기
-
결재 대기 확인
대시보드 또는 "결재 대기" 메뉴에서 처리할 문서를 확인합니다.
-
문서 검토
문서 내용, 첨부파일, 지출 내역 등을 꼼꼼히 검토합니다.
-
결재 처리
승인 또는 반려를 선택하고 필요시 의견을 입력합니다.
✅ 축하합니다!
이제 전자결재 시스템의 기본적인 사용법을 익혔습니다. 더 자세한 기능들은 아래 섹션에서 확인하세요.
📖 5. 사용자 가이드
문서 작성하기
-
메인 화면에서 "새 문서 작성" 클릭
또는 문서 유형별 바로가기 버튼 클릭
-
작성자 정보 확인
• 작성자: 자동으로 현재 로그인 사용자로 설정
• 부서: 회원정보의 부서 설정 확인 및 선택
-
결재선 설정
• 결재자를 순서대로 지정 (최소 1명 이상)
• 결재/합의 구분 선택
• 참조자 지정 (선택사항)
• 결재선 템플릿 저장/불러오기 가능
-
문서 정보 입력
• 문서 종류 선택 (지출결의서, 업무협조전 등)
• 문서 제목 입력 (필수)
• 문서 내용 작성
-
지출결의서 특별 항목 (해당시)
• 지출 항목 추가/삭제
• 각 항목별 상세 정보 입력
• 자동 합계 확인
-
첨부파일 업로드 (선택사항)
• 지원 형식: JPG, PNG, PDF, DOC, DOCX, XLS, XLSX, HWP
• 최대 10MB, 10개까지 업로드 가능
-
문서 저장/상신
• 임시저장: 나중에 수정 가능
• 상신: 결재 프로세스 시작
문서 조회 및 관리
내 문서 관리
- 내 문서: 내가 작성한 모든 문서
- 결재 대기: 내가 결재해야 할 문서
- 전체 문서: 권한이 있는 모든 문서
검색 및 필터링
- 문서 유형별 필터
- 문서 상태별 필터
- 날짜 범위 검색
- 제목/내용/작성자 검색
결재 처리하기
💡 결재 순서:
결재는 지정된 순서대로만 처리할 수 있습니다. 이전 결재자가 승인해야 다음 결재자가 처리할 수 있습니다.
-
결재 대기 문서 확인
• 대시보드의 "결재 대기" 영역
• "결재 대기" 메뉴 클릭
• 실시간 알림 확인
-
문서 내용 검토
• 문서 제목 및 내용 확인
• 첨부파일 검토
• 지출 내용 및 금액 확인 (지출결의서)
• 결재선 및 이전 결재 의견 확인
-
결재 처리
• 승인: "승인" 버튼 클릭 후 의견 입력 (선택)
• 반려: "반려" 버튼 클릭 후 반려 사유 입력 (필수)
-
결재 취소 (필요시)
• 이미 승인한 문서에 대해 다음 결재자가 처리하기 전까지 취소 가능
• 취소 사유 입력 필수
문서 인쇄하기
-
문서 상세보기에서 "인쇄" 버튼 클릭
또는 Ctrl+P 단축키 사용
-
인쇄 미리보기 확인
• 공문서 형태의 깔끔한 레이아웃
• 결재선 및 서명란 포함
• 지출 내역 표 정리 (지출결의서)
-
프린터 설정 후 인쇄
• A4 용지 권장
• 여백: 상단 10mm, 좌우하단 15mm
⚠️ 인쇄 시 주의사항:
• 브라우저의 배경 그래픽 인쇄 옵션을 활성화하세요
• 인쇄 전에 미리보기로 레이아웃을 확인하세요
• 색상 프린터 사용 시 더 명확한 출력이 가능합니다
🛡️ 6. 관리자 가이드
시스템 관리
부서 관리
작업 |
방법 |
주의사항 |
부서 추가 |
g5_ea_departments 테이블에 직접 INSERT |
dept_code는 고유값, 영문 대문자 권장 |
부서 수정 |
해당 레코드 UPDATE |
dept_code 변경 시 기존 문서 영향 확인 |
부서 비활성화 |
dept_status를 'INACTIVE'로 변경 |
기존 사용자들의 부서 재배정 필요 |
사용자 부서 설정
-
그누보드 관리자 페이지 접속
/admin/ 경로로 접속
-
회원 관리 → 회원 목록
부서를 설정할 회원 선택
-
회원 정보 수정
여분필드10에 부서코드 입력 (예: HR, FIN, DEV)
-
저장 후 확인
해당 사용자가 전자결재 시스템에서 부서 정보 확인
데이터베이스 관리
주요 테이블 구조
테이블명 |
용도 |
주요 필드 |
g5_ea_documents |
문서 기본 정보 |
doc_id, mb_id, doc_title, doc_type, doc_status |
g5_ea_lines |
결재선 정보 |
line_id, doc_id, approver_mb_id, line_status |
g5_ea_expense_items |
지출 항목 |
item_id, doc_id, amount, expense_type |
g5_ea_files |
첨부파일 |
file_id, doc_id, original_name, file_path |
g5_ea_departments |
부서 정보 |
dept_id, dept_code, dept_name, dept_status |
백업 및 복구
# 데이터 백업
mysqldump -u username -p database_name g5_ea_* > ea_backup.sql
# 데이터 복구
mysql -u username -p database_name < ea_backup.sql
보안 관리
- 파일 업로드 보안: 허용 확장자 제한, 파일 크기 제한
- SQL 인젝션 방지: 모든 사용자 입력에 대한 검증
- CSRF 방지: 토큰 기반 요청 검증
- 세션 보안: HTTP-only 쿠키, 보안 세션 설정
- 디렉토리 보안: .htaccess 파일을 통한 직접 접근 차단
🔧 7. 문제 해결
자주 발생하는 문제
한글 깨짐 문제
⚠️ 증상: 문서 제목이나 내용이 깨져서 보임
해결 방법:
-
인코딩 진단 도구 실행
/approval/encoding_check.php 접속하여 문제 진단
-
MySQL 인코딩 수정
진단 도구에서 "MySQL 인코딩 즉시 수정" 버튼 클릭
-
PHP 설정 확인
php.ini에서 다음 설정 확인:
default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
파일 업로드 실패
⚠️ 증상: 첨부파일 업로드 시 오류 발생
해결 방법:
- 파일 크기 확인: 최대 10MB까지 업로드 가능
- 파일 형식 확인: 허용된 확장자인지 확인
- 디렉토리 권한: /data/approval/files/ 디렉토리 쓰기 권한 확인
- PHP 설정: upload_max_filesize, post_max_size 설정 확인
결재 처리 불가
⚠️ 증상: 결재 버튼이 보이지 않거나 클릭되지 않음
해결 방법:
- 결재 순서 확인: 이전 결재자가 승인했는지 확인
- 권한 확인: 해당 문서의 결재자로 지정되었는지 확인
- 문서 상태 확인: 문서가 '결재대기' 상태인지 확인
- 브라우저 새로고침: 페이지를 새로고침하여 재시도
에러 메시지별 해결 방법
에러 메시지 |
원인 |
해결 방법 |
"_common.php not found" |
그누보드 연동 실패 |
그누보드 경로 확인, _common.php 파일 존재 여부 확인 |
"전자결재 시스템이 설치되지 않았습니다" |
데이터베이스 테이블 미생성 |
install.php 실행하여 테이블 생성 |
"로그인이 필요합니다" |
세션 만료 또는 미로그인 |
그누보드에 다시 로그인 |
"결재 권한이 없습니다" |
결재자가 아니거나 순서가 아님 |
결재선 확인, 이전 결재 완료 여부 확인 |
❓ 8. 자주 묻는 질문
Q1. 결재 순서를 변경할 수 있나요?
A: 임시저장 상태에서는 결재선을 자유롭게 수정할 수 있습니다. 이미 상신된 문서는 결재선 변경이 불가능합니다.
Q2. 긴급 결재는 어떻게 요청하나요?
A: 문서 제목에 [긴급] 표시를 추가하시면 우선 처리됩니다. 시스템에서 자동으로 긴급 문서로 분류합니다.
Q3. 반려된 문서는 어떻게 처리하나요?
A: 반려 사유를 확인 후 문서를 수정하여 다시 상신할 수 있습니다. 반려된 문서는 삭제도 가능합니다.
Q4. 결재 후 취소할 수 있나요?
A: 다음 결재자가 아직 처리하지 않은 경우에만 취소 가능합니다. 취소 시 사유 입력이 필요합니다.
Q5. 여러 명이 동시에 결재할 수 있나요?
A: 현재 시스템은 순차 결재만 지원합니다. 동일한 순서에 여러 결재자를 지정하면 모두 승인해야 다음 단계로 진행됩니다.
Q6. 첨부파일 용량 제한은 어떻게 되나요?
A: 파일당 최대 10MB, 문서당 최대 10개 파일까지 첨부 가능합니다. 대용량 파일은 압축하여 업로드하세요.
Q7. 모바일에서 사용할 수 있나요?
A: 네, 반응형 디자인으로 모바일에서도 사용 가능합니다. 다만 복잡한 문서 작성은 PC 사용을 권장합니다.
Q8. 삭제된 문서를 복구할 수 있나요?
A: 시스템에서 삭제된 문서는 복구가 불가능합니다. 중요한 문서는 삭제 전 백업을 권장합니다.
📋 10. 버전 정보
현재 버전: v1.0.0
릴리즈 날짜: 2025-05-28
주요 변경사항
- • 전자결재 시스템 최초 릴리즈
- • 기본 결재 기능 구현
- • 지출결의서 전용 기능
- • 부서 관리 시스템
- • 인코딩 문제 해결
라이선스 및 저작권
오픈소스 라이브러리:
• Font Awesome 4.6.3 - 아이콘
• jQuery (그누보드 기본 포함)
• Bootstrap 스타일 일부 적용
기술 지원
지원 항목:
• 설치 및 초기 설정 지원
• 사용법 교육 및 가이드
• 버그 수정 및 업데이트
• 기능 개선 및 커스터마이징
• 데이터 마이그레이션 지원