일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- SQLite3
- Spring Framework
- scene builder
- sql developer
- java fx
- tomcat timeout
- pie chart
- java
- Java Script
- css
- Oracle
- Python 환경변수
- python
- oracle hr
- html
- TensorFlow
- Django
- keras
- wx Form Builder
- Today
- Total
소율로그
[Java, Java FX] HR 서비스 본문
프로젝트 주제 : 인적자원 관리 시스템
개발 도구 : Eclipse, Sql Developer, Scene Builder
사용 언어 : Java
* 오라클사에서 제공하는 hr 샘플을 활용해서 만들었습니다. 오라클 hr 샘플 데이터 사용법은 아래 링크에서 확인할 수 있습니다
[Oracle] Oracle HR 계정 사용하기
오라클사에서는 몇 가지 샘플 데이터들을 제공합니다. 저는 그중에서 HR 계정을 사용했습니다. 일단 오라클을 사용하기 위해서는 OracleServiceXE와 OracleXETNSListener이 실행중이어야 합니다. 1. 실행
soyurr.tistory.com
1. 전체적인 디자인은 Scene Builder를 사용해서 만들었습니다.
2. 직원 CRUD
2-1. 직원 Insert
👉 EMPLOYEE_ID는 자동 부여되므로 입력할 수 없도록 막았습니다
2-2. 직원 Update
👉 Update하고자 하는 직원을 선택하면 왼쪽에 직원의 정보가 불러와지는데 내용을 수정하고 UPDATE 버튼을 누르면 반영됩니다
2-3. 직원 Index & Delete
👉 Index는 where절을 사용해 검색을 하며 조건에 만족되는 모든 직원 목록이 나타납니다
👉 삭제하고자 하는 직원을 선택 후 DELETE 버튼을 누르면 삭제됩니다
3. 람다식
👉 아코디언 형식으로 몇 가지 항목들을 체크할 수 있도록 서비스를 구현했습니다
3-1) 주어진 기간의 입사자목록
public List<Employees> getEmpListByHireDate(Date a,Date b){
List<Employees> result = null;
try {
Predicate<Employees> bt= m->{
Date x = m.getHire_date();
return (x.after(a) && x.before(b))
|| x.equals(a) || x.equals(b);
};
result = (List<Employees>) edao.selectAll().stream().filter(bt).collect(Collectors.toList());
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
3-2)근무부서별 직원 목록
public List<Employees> getEmpListByDep(int depId){
List<Employees> result = null;
try {
Predicate<Employees> bt= m->{
return m.getDepartment_id()==depId;
};
result = (List<Employees>) edao.selectAll().stream().filter(bt).collect(Collectors.toList());
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
3-3) 급여순으로 본 직원 목록
public List<Employees> getEmpListOrderbyPay(){
List<Employees> result = null;
try {
result = (List<Employees>) edao.selectAll().stream().sorted(
(em,em2) ->em2.getSalary() - em.getSalary()
).collect(Collectors.toList());
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
3-4) 커미션율
3-5) 연봉 입력한 액수 이상인 직원
3-6) 이메일로 직원 찾기
public List<Employees> getFindByEmail(String email){
List<Employees> result = null;
try {
result = (List<Employees>) edao.selectAll().stream().filter(t->t.getEmail().equalsIgnoreCase(email))
.collect(Collectors.toList());
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
3-7) 전화번호로 직원 찾기
3-8) 성으로 직원 검색
3-9) 직업 ID별 직원목록 보기
4. 소스 코드 깃허브
👉 https://github.com/soyurr/hr-service
GitHub - soyurr/hr-service: java hr서비스
java hr서비스. Contribute to soyurr/hr-service development by creating an account on GitHub.
github.com
'Portfolio' 카테고리의 다른 글
[Java, Spring] 스프링 팀 프로젝트 (0) | 2021.11.01 |
---|---|
[Python, Django] 장고 웹 프로젝트 (1) | 2021.10.30 |
[Python] 가계부 (0) | 2021.10.29 |
[Python] 계산기 (0) | 2021.10.29 |
[Java, Java FX] 가계부 (0) | 2021.10.27 |