개발 기간 : 2022.08.09 ~ 2022.12.12
개발 인원 : 5명
- 기업에서 사용하는 인사, 급여, 휴가 관리 시스템을 구축하는 업무로서, 직원 등록, 급여 항목 관리, 급여 내역 생성, 급여 변경 내역 관리 등의 업무를 테크블루제닉이 보유한 전자정부 프레임워크 플랫폼을 사용하여 구축하는 작업
-
직원 등록/조회
- 인사 데이터 처리의 기본이 되는 직원 기본 정보를 등록하고 수정하는 기능 (입사 -> 퇴사)
- 입력된 직원 정보를 부서별, 개인별로 조회
- 인사 데이터 변동 내역 조회
-
급여 항목 등록/조회
- 회사별 다른 급여 항목을 등록하는 기능
- 지급 항목과 공제 항목을 기준으로 트리뷰로 화면 제작
- 급여 항목별로 금액을 변경 조정하는 기능
-
월별 급여 내역 생성/조회
- 직원 별로 급여 내역 생성하는 기능 (본봉 변경 내역 관리 기능 포함)
- 직원 별로 생성된 8000 여 내역을 변경하는 기능 (생성 후 변경과 사후 변경 기능 포함)
- 직원별/부서별로 생성된 급여 내역을 조회하는 기능 (월별 조회)
-
월별 급여 내역 출력
- 월별/부서별 직원 급여 일괄 조회
- 개인별 급여 일괄 조회
-
급여 내역 메일 발송
- 직원의 이메일로 급여 내역을 일괄 발송 기능
- 발송된 메일 리스트 확인 기능
-
연차 생성/삭제
-
휴가 내역 조회
-
휴가 신청/저장/취소
언어 |
|
프레임워크 |
|
라이브러리 |
|
패키지 매니저 |
|
인프라 |
|
협업툴 |
|
기타 |
|
메뉴 | 서비스 타입 | 역할 | 프로그램명 | 경로 |
---|---|---|---|---|
직원등록조회 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0010.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
BD_UIPMA0011.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
BD_UIPMA0012.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
서버단 | PGPM0010Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0010Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0010Mapper.xml | /aframe/src/main/java/resources/env/mapper/pm | ||
그리드 설정 | EMPinfoGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
급여항목관리 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0020.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
BD_UIPMA0021.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
BD_UIPMA0022.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
서버단 | PGPM0020Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0020Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0020Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | PayItemTreeGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
개인별월급여항목 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0030.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
서버단 | PGPM0030Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0030Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0030Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | EmpPayItemGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
급여계산 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0040.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
서버단 | PGPM0040Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0040Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0040Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | CalcPayGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
월별급여조회 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0050.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
서버단 | PGPM0050Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0050Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0050Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | PayMntGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
세율관리 | 조회, 트랜잭션 | 화면단 | BD_UIPMA0060.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
BD_UIPMA0061.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
BD_UIPMA0062.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | |||
서버단 | PGPM0060Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0060Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0060Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | TaxRateGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
메일전송 | 조회 | 화면단 | BD_UIPMA0070.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm |
서버단 | PGPM0070Service.java | /aframe/src/main/java/biz/tech/pm | ||
쿼리매핑 | PGPM0070Mapper.java | /aframe/src/main/java/biz/tech/mapif/pm | ||
SQL | PGPM0070Mapper.xml | /aframe/src/main/resources/env/mapper/pm | ||
그리드 설정 | SendMailGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
팝업 | 조회 | 그리드 꾸미기 | gridAlign.css | /aframe/src/main/webapp/css |
화면단 | PD_UIPMA0013.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | ||
그리드 설정 | WorkTypeGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
화면단 | PD_UIPMA0014.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | ||
그리드 설정 | RankGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
화면단 | PD_UIPMA0015.jsp | /aframe/sr 70AB c/main/webapp/WEB-INF/views/admin/pm | ||
그리드 설정 | DeptGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
화면단 | PD_UIPMA0023.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | ||
그리드 설정 | PayItemListGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
화면단 | PD_UIPMA0063.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | ||
그리드 설정 | EmpListGrid.js | /aframe/src/main/webapp/gridDef/pm | ||
화면단 | PD_UIPMA0032.jsp | /aframe/src/main/webapp/WEB-INF/views/admin/pm | ||
메일전송 | 메일 계정 설정 | context-mail.xml | /aframe/src/main/resources/env/spring | |
메시지창 | 메시지창 문구 | sysMessage.js | /aframe/src/main/webapp/script/tech |
- 방진성 : 백엔드(인사 관리, 휴가 관리), 프론트엔드(Axios, RealGrid.js 설계)
- 박민규 : 프론트엔드(JSP 설계, 이벤트 및 레이아웃 설계)
- 이우찬 : 프론트엔드(JSP 설계, RealGrid.js 설계)
- 이윤석 : 백엔드(급여 관리, xml 설계)
실무자 협업 프로젝트로 전자정부 프레임워크 기반으로 개발한 프로젝트다.
RealGrid.js는 웹 기반의 그리드 컴포넌트 라이브러리로, 대용량 데이터를 빠르게 화면에 표시하고 처리하기 위해 사용한다.
RealGrid.js를 사용하게된 계기는 다음과 같다.
대량의 데이터를 원활하게 처리하고 랜더링할 수 있다.
실시간으로 업데이트되는 데이터를 빠르게 표현하는 것이 가능하다.
Virtual DOM을 활요하여 필요한 부분만 다시 렌더링하는 방식을 적용한다.
필터링, 정렬, 그룹화, 편집 등 다양한 그리드 기능을 제공한다.
이러한 이유로 RealGrid.js를 선택하였다.
이번 프로젝트는 개발 외적으로 느낀게 많았다.
참여 의지가 낮아진 팀원이 발생하여 어려움을 느끼게 되었다.
나는 팀장으로서 책임감을 갖고 개발 방향성에 대한 조언과 프로젝트 경험의 중요성에 대해 설득을 하였다.
개인 사유를 파악하고 동기를 부여하며 각자의 역할을 충실히 수행할 수 있도록 유도하는 것이 필요하다고 생각했다.
개발 뿐만아니라, 소통과 리더십, 그리고 실무자 협업 프로젝트에 대해서 알아가고 공부할 수 있었던 프로젝트였다.