개인 구현 기능

유스케이스

일일보고 유스케이스.PNG

인사관리 유스케이스.PNG

오피스 유스케이스.PNG

데이터베이스

파이널 디비.pdf

테스트 케이스

일일보고, 오피스, 사원관리_테스트케이스.pdf

코드 리뷰

<aside> 💡 전체 코드는 https://github.com/pastelto/HelloWorks.git 에서 확인할 수 있습니다.

📌 일일보고

  1. HelloWorks/src/main/webapp/WEB-INF/views/dailyReport/...
  2. HelloWorks/src/main/java/com/helloworks/spring/dailyReport/...
  3. HelloWorks/src/main/resources/mappers/dailyReport-mapper.xml

📌 오피스 1-1. 주소록: HelloWorks/src/main/webapp/WEB-INF/views/addressBook/... 1-2. 자료실 : HelloWorks/src/main/webapp/WEB-INF/views/officeResources/... 1-3. 직원검색 : HelloWorks/src/main/webapp/WEB-INF/views/searchEmployee/... 2-1. 주소록 : HelloWorks/src/main/java/com/helloworks/spring/addressBook/... 2-2. 자료실, 직원검색 : HelloWorks/src/main/java/com/helloworks/spring/offieceRoom/... 3-1. 주소록 : HelloWorks/src/main/resources/mappers/addressBook-mapper.xml 3-2. 자료실, 직원검색 : HelloWorks/src/main/resources/mappers/officeroom-mapper.xml

📌 인사관리 1. HelloWorks/src/main/webapp/WEB-INF/views/employee/... 2. HelloWorks/src/main/java/com/helloworks/spring/employee/... 3. HelloWorks/src/main/resources/mappers/employee-mapper.xml

</aside>

일일보고1.mp4

[일일보고 작성하기(직원검색 /주소록)]

일일보고 작성하기 기능은 1명 이상의 보고 대상이 있어야 등록 가능합니다. 직원 검색 및 주소록 버튼을 클릭 시 windwo.open을 통해 팝업창이 호출이되며, 화면 내의 체크 박스를 선택하여 추가 또는 삭제 버튼을 통해 수신 및 참조 직원을 선택합니다.

선택한 직원 리스트는 hashmap 형태로 session에 저장됩니다. 이때 기존 session값이 있는 경우에는 기존 데이터와 비교하여 신규 데이터만 저장되고 session이 존재하지 않는 경우엔 신규 값으로 저장됩니다.

삭제의 경우 삭제 리스트 키와 기존 session키을 비교하여 일치하는 키를 ArrayList에 담은 후 해당 키를 지우는 형태로 구현했습니다.

(* 주소록 역시 동일하게 구현)

일일보고2.mp4

[일일보고 저장]

일일보고는 작성자 개인과 수신과 참조를 엮은 직원들에게 분리되어 발송됩니다. 작성자의 경우 서블릿에서 임시저장된 파일이 존재하는지 확인 후 존재하면 update문을 신규 값이면 insert문으로 분리되어 전송됩니다.

수신직원은 1명 이상 발송되도록 제한이 걸려있어 null 값이 전달되지 않아 신규 값으로 insert로 진행되며, 참조의 경우 전달 값 존재여부를 확인한 후, 이미 수신직원으로 지정된 경우, 새롭게 인서트 되는 경우에 대한 조건을 나누어 진행됩니다.

전체 등록이 완료되면 수신직원 및 참조 직원 session을 삭제합니다.

일일보고 발신함.PNG

[일일보고 발신함]

일일보고 작성이 완료되면 발신함으로 자동 전환되며, 발신함을 Full Calendar를 활용하여 해당 일자별 작성 일일보고를 확인할 수 있습니다. 해당일자 보고타이틀을 누르면 일일보고 상세페이지로 화면이 전환됩니다.

Full Calendar 내의 값들은 ajax를 사용하여 받아옵니다.

일일보고3.mp4

[일일보고 수신함 검색]

검색의 경우 1차로 Controller에서 해당 키워드 값을 검색용 vo에 담은 후

각 검색어별 해당하는 mapper에 값을 전달하여 조건에 맞는 데이터를 받아 다시 화면단으로 전달하는 형태로 구현하였습니다.

오피스.mp4

[오피스 - 자료실]

자료실의 경우 공통 자료실 접근은 전직원이 가능하나 수정 및 등록은 특정 부서와 직급에 접근 제한을 걸고 수정시 작성자가 아닌 비밀번호값을 인증하여 수정처리가 되게 하였습니다. 부서별 자료실은 부서코드별로 노출 리스트가 변경되며 수정은 작성자 외 팀장 이상직급은 접근 가능하도록 구현하였습니다.

[오피스 - 직원검색]

직원검색입니다. 직원검색 내의 키워드 파트는 한글과 영어 키워드에 맞춰 mapper에서 정규식(REGEXP_INSTR)을 활용해 값을 반환하도록 하였습니다. 직원검색 페이지는 키워드 검색을 비롯하여, 부서별 검색, 조건 별 검색이 가능합니다.

[오피스 - 사내 주소록]

주소록의 경우 직원검색을 통해 추가할 수 있습니다. 이때 추가되는 사원이 본인인지, 등록직원인지, 신규 직원인지에 따라 조건을 부여했으며, 개별 및 다중 추가 삭제가 가능하도록 하였습니다.

[오피스 - 외부 주소록]

외부 주소록의 경우 사내 주소록과 다르게 개인별 등록이 필요해 페이지 상단 input 창을 활용해 값을 저장할 수 있도록 구현 하였습니다.