Skip to content

Ureca-team-for-GroupwareSystem/SIGW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧑🏻‍💻 [SIGW] 그룹웨어시스템

휴가결재 파트 구현

프로젝트 소개

  • Spring을 활용하여 그룹웨어시스템의 휴가결재에 대해 간단하게 구현해보았습니다.
  • 개인이 휴가 신청서를 작성할 수 있습니다.
  • 신청하는 휴가에 대한 결재선을 지정할 수 있습니다.
  • 휴가 결재는 순차적으로 이루어지며 부서번호가 낮고 직급이 낮은 순부터 결재가 진행됩니다.
  • 최종 결재가가 승인하면 휴가 신청이 승인됩니다.
  • 로그인 기능은 구현하지 않아 홈 URL Path variable에 유저 id를 추가하면
    이후 세션에 저장되어 프로세스가 진행됩니다.

<홈 화면> image

<휴가신청 화면> image

<신청현황 화면> image

<직원휴가결재 화면> image

개발환경

  • Back: Spring Boot, Spring JPA, Mysql
  • Front: html, css, jsp
  • 협업툴: Notion, Slack

개발 기간

2024/8/9 ~ 2024/8/29

ERD

image

주요 고민거리

  • 결재선 처리 로직에 대한 고민이 많았습니다.
  • N명의 사람을 선택해도 원하는 순서대로 결재선이 구성되어야 했습니다.
  • DB에서는 결재 상태와 순번 컬럼을 두었습니다.
  • 휴가 신청시 다음과 같은 과정을 거쳤습니다.
// 부서 번호 및 직급 순서로 정렬
approverList.sort((a1, a2) -> {
  ...
});

// acnt: 결재순번, astate: 결재상태
int acnt = 0;
for (Approver approver : approverList) {
    approver.setAcnt(acnt);
    if (acnt == approverList.size()-1) {
        approver.setAstate(ApproveType.MYTURN);
    } else {
        approver.setAstate(ApproveType.NOTYET);
    }
    acnt++;
}
  • 이후 순번을 따라서 결재 상태를 바꿔주는 처리를 해주어 결재선을 구현했습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages