노션으로 연차관리대장 만들기
예전 회사 다닐때, 연차 관리가 안되서 엑셀로 사용일 적어두는용으로 간단하게 휴가관리대장을 만들었었는데, 이직하면서 그 파일이 어디갔는지 모르겠기도 하고, 맥이라 엑셀 설치 안해놨어서 요즘 트렌드에 맞게 노션으로 휴가관리대장을 만들었다.
강과 같은 이 블로그를 보고 구현할 수 있게 되었다.
노션(Notion)으로 연차대장 구현하기
HR 담당자에게는 모든 직원의 연차를 정확하게 관리해야 하는 막중한 사명이 있습니다. 큰 품이 드는 일은 아니지만, 누군가의 연차를 잘못 계산했다가 뒤늦게 이 사실을 알게 되었다고 상상해
team.postype.com
✨ 완성본
구현 기능
- 내 연차 현황을 한눈에 알아볼 수 있음.
- 발생 연차(입력)
- 사용내역(하단 사용내역에 입력하면 자동으로 추가)
- 잔여 = a - b
- 휴가사용내역 정리 가능
- 어느 날에 무엇을 했는지 사유 정리 가능
- 휴가종류(연차, 오전반차, 오후 반차) 구현 가능 및 휴가 종류에 따라 사용갯수 조절 가능
구현 방법
위 참고 블로그에 보면 Relation
과 Rollup
으로 구현했다고 했는데.. 쿼리 짤때도 rollup 이해안됐는데.. ㅎ
이해가 안되면 몸을 움직이면 된다. 그러면 어떻게든 됨.
첫번째 데이터베이스를 만들어준다. 사용의 경우 속성이 롤업이고, 잔여는 수식으로 만들어줬다. 여기서 사용내역은 밑의 휴가 사용내역의 데이터베이스에서 가져올 거기 때문에, 휴가사용내역 데이터 베이스를 추가로 생성해준다.
하단에 새로운 데이터베이스를 추가했으니, 위와 연결해줘야한다. 위의 내 연차현황(1번 데이터베이스)의 잔여 옆에 새로운 컬럼을 하나 추가해준다.
그럼 이렇게 되면 둘이 연결은 완료다. 이제 날짜와 휴가 종류에 따라 사용갯수를 계산해보자.
dateBetween(end(prop("날짜")), start(prop("날짜")), "days") + 1
- toNumber(contains(prop("휴가 종류"), "반차")) / 2
설명은 위 블로그에 아주 잘 되어 있다^^..
그러면 시작일, 종료일과 더불어 마지막을 오전반차로 하면 1.5개 계산이 된다.
위에 아래 테이블이랑 연관 맺은 속성
컬럼을 사유로 바꾸고 밑에 작성한 연차를 연결한다.
사용 컬럼은 사유
란 컬럼에 있는 관계형 데이터베이스에서 사용갯수
란 속성값을 가져와서 그 값들의 합계
를 가져온다는 내용이다. 휴가사용내역에 있는 사용갯수들의 합계가 내가 총 사용한 연차 갯수이기 때문에 합계로 가져온다.
그 외 발생은 내 연차 갯수를 작성해주고, 잔여는
prop("발생") - toNumber(prop("사용"))
발생에서 사용을 빼면 된다.
최종본
연차 관리 대장_SAMPLE
A new tool for teams & individuals that blends everyday work apps into one.
same-pansy-363.notion.site
이걸 만들면서 노션의 세계는 무궁무진하구나 다시 한번 느꼈다.. 부족한 점도 있고 연차반차 계산시 좀 이상한 부분도 있지만...... 혼자 쓰는데 별 문제가 없어서 여기까지만 하고 혹시 필요한 사람이 있을지도 몰라 블로그에도 올려본다.. 😄