From 83b541d8909e6a38d62201fe4dc3bcca79bf6355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Jarocki?= Date: Tue, 25 Apr 2023 18:27:18 +0200 Subject: [PATCH] Create Human & Employee classes. --- .gitignore | 29 ++++ .idea/misc.xml | 6 + .idea/modules.xml | 8 ++ .idea/uiDesigner.xml | 124 ++++++++++++++++++ .idea/vcs.xml | 6 + .idea/workspace.xml | 60 +++++++++ school-manager.iml | 11 ++ src/Main.java | 13 ++ src/com/school/manager/people/Human.java | 62 +++++++++ .../manager/people/employees/Employee.java | 65 +++++++++ .../manager/people/employees/Experience.java | 7 + .../manager/people/employees/Position.java | 13 ++ 12 files changed, 404 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 school-manager.iml create mode 100644 src/Main.java create mode 100644 src/com/school/manager/people/Human.java create mode 100644 src/com/school/manager/people/employees/Employee.java create mode 100644 src/com/school/manager/people/employees/Experience.java create mode 100644 src/com/school/manager/people/employees/Position.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..7464918 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..42cab29 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..182c199 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "keyToString": { + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true" + } +} + + + + + 1681831370752 + + + + \ No newline at end of file diff --git a/school-manager.iml b/school-manager.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/school-manager.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..95f210e --- /dev/null +++ b/src/Main.java @@ -0,0 +1,13 @@ +import com.school.manager.people.Human; +import com.school.manager.people.employees.Employee; +import com.school.manager.people.employees.Position; + +public class Main { + public static void main(String[] args) { + Human human = new Human("Stan", "Jarocki", "123456789", 2002, 11, 6); + + Employee owner = new Employee(human, "Manager", 5000); + + owner.showInfo(); + } +} \ No newline at end of file diff --git a/src/com/school/manager/people/Human.java b/src/com/school/manager/people/Human.java new file mode 100644 index 0000000..0876a01 --- /dev/null +++ b/src/com/school/manager/people/Human.java @@ -0,0 +1,62 @@ +package com.school.manager.people; + +import java.time.LocalDate; +import java.time.Period; + +public class Human { + private final String name; + private final String surname; + private int age; + private final LocalDate birthDate; + private final String pesel; + + public LocalDate getBirthDate() { + return birthDate; + } + + public void setAge(int age) { + this.age = age; + } + + public int getAge() { + return age; + } + + public String getPesel() { + return pesel; + } + + public Human(String name, String surname, String pesel, int birthYear, int birthMonth, int birthDay ) { + this.name = name; + this.surname = surname; + this.pesel = pesel; + this.birthDate = LocalDate.of(birthYear, birthMonth, birthDay); + } + + public String getName() { + return name; + } + + public String getSurname() { + return surname; + } + + public void showInfo() { + System.out.println("Imię: " + getName()); + System.out.println("Nazwisko: " + getSurname()); + System.out.println("Wiek: " + getAge()); + System.out.println("PESEL: " + getPesel()); + } + + public void updateAge() { + LocalDate currentDate = LocalDate.now(); + Period dateDifference = Period.between(birthDate, currentDate); + int currentAge = dateDifference.getYears(); + this.setAge(age); + } + + public boolean checkHasBirthdayToday() { + LocalDate todayDate = LocalDate.now(); + return todayDate.compareTo(birthDate) == 0 ? true : false; + } +} diff --git a/src/com/school/manager/people/employees/Employee.java b/src/com/school/manager/people/employees/Employee.java new file mode 100644 index 0000000..23b1761 --- /dev/null +++ b/src/com/school/manager/people/employees/Employee.java @@ -0,0 +1,65 @@ +package com.school.manager.people.employees; + +import com.school.manager.people.Human; + +import java.util.ArrayList; +import java.util.List; +import java.util.Iterator; + +public class Employee extends Human { + private List positions = new ArrayList(); + private int salary; + + public List getPositions() { + return positions; + } + + public void addPosition(String newPosition) { + this.positions.add(newPosition); + } + + public Employee(Human human, String position, int salary) { + super(human.getName(), human.getSurname(), human.getPesel(), human.getBirthDate().getYear(), human.getBirthDate().getMonthValue(), human.getBirthDate().getDayOfMonth()); + this.positions.add(position); + this.salary = salary; + } + + public void removePosition(String position) { + this.positions.remove(position); + } + + public void fire() { + List positions = this.getPositions(); + Iterator iter = positions.iterator(); + + while(iter.hasNext()) { + String position = iter.next(); + iter.remove(); + } + } + + private int getSalary() { + return salary; + } + + private void setSalary(int salary) { + this.salary = salary; + } + + public void showInfo() { + List positions = this.getPositions(); + + if (positions.size() == 0) { + System.out.println("Brak Stanowiska"); + } else if (positions.size() == 1) { + System.out.println("Stanowisko: " + positions.get(0)); + } else { + System.out.println("Stanowiska: "); + for (String position : positions) { + System.out.println(" - " + position); + } + }; + + System.out.println("Płaca: " + getSalary()); + } +} diff --git a/src/com/school/manager/people/employees/Experience.java b/src/com/school/manager/people/employees/Experience.java new file mode 100644 index 0000000..c1d0bbc --- /dev/null +++ b/src/com/school/manager/people/employees/Experience.java @@ -0,0 +1,7 @@ +package com.school.manager.people.employees; + +public enum Experience { + JUNIOR, + + +} diff --git a/src/com/school/manager/people/employees/Position.java b/src/com/school/manager/people/employees/Position.java new file mode 100644 index 0000000..23ede1c --- /dev/null +++ b/src/com/school/manager/people/employees/Position.java @@ -0,0 +1,13 @@ +package com.school.manager.people.employees; + +public enum Position { + MANAGER, + SUPERVISOR, + ENGINEER, + ANALYST, + CLERK; + + public String capitalize() { + return this.name().toLowerCase(); + }; +} \ No newline at end of file