A Project

JATACAS

관리자

view : 311

기간 : 2017-05-01 ~ 2017-05-15 ( 월,화,수,목,금 )
URL :  
출결 관리 시스템

 

Semi Project

프로젝트명

출결 관리 시스템

개발환경, 개발툴

JDK 1.8, Oracle 11gXE, Eclipse JAVAEE, ProtoNow, Apache Tomcat 8.5, 

queryBox , 64bit window7 desktop

사용 언어, 라이브러리

JAVA, JSP, SERVLET, HTML5, CSS3, JAVASCRIPT, JDBC

담당 업무

각 조원별 파일 최종 조인, 로그인 했을 때 출결 기록, 로그인 시간 기록, 출결기록을 이용하여 출결사항, 출결캘린더 출력. 관리자가 입력한 주요일정 출력, 사유서 스터디 보고서 작성 후 결재 승인 절차 구현. 쪽지 기능 구현

프로젝트 기간

참여인원

2017.05.01 ~ 2017.05.15 (14일)

6명

세부 기능 요약 및 설명

 

 

 

 

 

로그인을 하게 되면 하루에 한번 출석관련 테이블에 

출석현황 기록

 

로그인한 시간을 기준으로 출근or지각or결석 값을 얻어서 테이블의 등록

 

로그인한 아이디와 로그인 시간을 세션에 등록

 

 

 

로그인 되었을때만 메인페이지로 이동 가능 header 부분에 로그인 상태 표시

메인 페이지는 header center footer 3개의 분리된 레이아웃 사용.

index파일을 불러올 때 request로 파라미터 값을 읽어들인다.

get방식인 index.jsp?inc= “center에 include할 경로”를 이용하여 center에 파일 출력

 

 

 

 

출석 현황 페이지로 이동시 출석기록, 주요일정을 DB로부터 select 한다.

  

출석현황,출석캘린더,주요일정 select하는 로직 실행후 출석현황 페이지로 값을 전달.

 

 

 

 

출석현황 페이지에서 출결사항과 출결캘린더에서 출석 관련 기록을 확인 가능

출결 캘린더에 디자인은 테이블 태그를 활용

 

 

 

캘린더를 표현할 테이블은 기본 가로7, 새로6 칸의 공백이고 그안에 값은 JAVA의 Calendar class의 getActualMaximum과 Calendar.DAY_OF_WEEK를 활용하여 끝나는 요일과, 1일이 되는 요일을 계산후 해당 월에 날짜값을 얻어서 채워진다 .

dayList 배열의 길이는 42가 된다.

 

 

 

Calendar class로 도출된 날짜값에 출결사항이 기록된 테이블에서 출결 날짜와 일치하는 부분을 출근,지각,결석 아이콘으로 변경

 

 

날짜 정보를 request영역에 담아서

 

출석현황 페이지에 전달한다.

 

 

 

 

 

 

 

 

페이지 상단부분 header에서 안읽은 메시지를 확인 가능.

 

 

 

 

헤더에 표시되는 안읽은 쪽지 개수를 DB를 통해서 카운팅

 

메시지 아이콘을 클릭하면 메시지 보관함으로 이동.

 

 

 

 

보낸 메시지와 받은 메시지는 같은 테이블을 사용하기 때문에 삭제 관련 부분을 상태값으로 이용

 

보낸 메시지인 경우 sdelck라는 컬럼의 값이 0이 아닌 경우가 삭제가 된 상태라고 본다.

그렇기에 보낸 메시지가 삭제가 안된 상태(sdelck=0)인 경우에만 list에 출력해준다.

메시지를 삭제 하게 되면 실제 값이 삭제가 되기 전에 우선 상태값을 변경하게 되는 것이다.

실제 테이블에 값을 삭제 하게 되는 경우에는 보낸메시지 상태값(sdelck)과 받은메시지 상태값(gdelck) 모두

0이 아닌 경우에만 값을 삭제 하게 된다.

 

 

삭제 상태값 변경후

 

상태값 확인후 삭제

 

메시지 일괄 삭제 부분은 체크박스의 해당 메시지에 대한 시리얼 값을 value에 담아서 submit

 

request.getParameterValues를 통해 배열로된 시리얼 값을 얻고

 

배열의 길이 만큼(선택된 메시지 만큼)의 반복문을 통해서 해당 메시지의 삭제 상태값 변경.

 

삭제한후 바로 message list를 다시 출력해주기 때문에 웹페이지에서 새로고침이 필요가 없다.

 

 

 

 

쪽지 쓰기는 이 사이트의 회원가입이 된 멤버들, 관리자 들과의 커뮤니케이션을 위한 기능.

쪽지를 보낼 대상자를 선택할 때 다수를 선택 가능.

 

userlist를 db에서 select.

javascript를 활용하여 오른쪽 드롭박스에 출력

 

 

비어 있는 sel(select태그)에 userlist 멤버수 만큼 create한 option을 appendChild시킨다.

  

 

생선된 userlist 드롭박스중 쪽지를 보낼 대상자를 선택하게 되면 왼쪽 보낼사람 명단에 표시가 된다.

내부적으로는 보낼사람이 추가될때마다 input type=hidden을 create해서 value에 선택된 아이디를 저장 시킨다.

 

 

보낼 사람 선택후 submit을 하게 되면 request.getParametarValues(“send_id”)를 통해 선택된 userlist배열을 얻을수가 있고, 배열의 길이(선택된 userlist)만큼 메시지를 테이블에 저장할 때 보낸사람 id(login한 멤버)와 받는사람 id(선택된 멤버)가 같이 저장.

그로인해 보낸 사람 id를 통해 받은 메시지 list를 출력, 받는 사람 id를 통해 보낸 메시지 list가 출력 가능 하다.

 

 

 

 

사유서를 통해 작성한 문서는 관리자가 확인 가능 하며 결재 승인 절차가 존재한다.

결재 단계에 따라 결재 승인 상태값을 통해 이미지로 확인 가능.

 

 

 

결재승인 상태값에 따라 출력된 사유서 리스트 항목.

사유서를 작성하게 되면 이 상태값이 최초 0인 상태로 등록. manager와 admin으로 로그인을 하게 되면 관리자 모드에서 이 값을 변경 시킬수가 있다.

0 : 최초 등록 

1 : manager 승인 

2 : admin 승인(최종승인) 

3 : 거부 

 

 

manager와 admin으로 로그인 했을시에만 header부분에 생기는 관리자 모드 아이콘.

 

사유서 테이블의 승인상태값 컬럼인 cfck

 

 

이 컬럼의 상태값의 따라 보여줄 이미지 등록

 

 

manager 로그인 후 관리자 페이지에서 멤버들이 작성한 사유서 리스트를 확인(결재상태가 0( )인 경우)할수 있으며, 

결재승인 checkbox를 선택해서 승인 or 거절을 선택할 수가 있다.

 

 

결재 승인 되었을 경우 기존 0에서 +1 더해서 1이된다.

결재상태가 1()이 되었기 때문에 admin으로 로그인 했을시 관리자 페이지에 리스트로 출현 하게 된다.

 

 

결재 거절 되었을 경우 결재상태가 3()이 된다.

 

admin의 관리자 페이지에서는 상태값이 1인 경우(manager가 승인)에만 사유서가 리스트가 출력

admin 아이디로 승인을 하게 되면 기존 1인 상태에서 +1을 하여 최종 승인 단계인 2()가 된다.

 

 

먼저 비밀번호를 입력하여 주세요.

창닫기확인

TOP