Java 员工管理系统开发实战:员工类与员工管理类实现

“爱程序”软件研发公司接到“No.1”公司的人力管理系统开发需求,需要开发员工管理模块,支持员工信息增删改查功能。作为公司研发部门的一员,请大家按照下面的项目说明书逐步完成此需求的开发。

一、需求说明

XX公司接到XXX单位的人力管理系统开发需求,员工管理模块中要求用工号、姓名、性别、年龄、工龄、所属部门、技能说明、工资级别等信息描述员工,现在要编写员工类及员工管理类。

二、工单

文档编号:BL20211021 客户名称 XXXXXXX 项目经理 XXX 项目名称 XXXXXXX 用户单位 需求部门 XXXXXXXX 申请个人 提出时间 2021-10-16 完成时间 2021-10-17 需求人员 XXXXXX 预估工时(人/日) 1 紧急程度 □特急 紧急 □正常 □可延期

涉及软件: 1、IDEAJ。

需求描述: 为了保证员工数据存储的统一性,使用类与对象的理念存储员工数据。

功能描述: 1、创建员工类实现相应方法 2、创建员工管理类实现相应方法

验收:

验收负责人签名: 日期:
项目 经理

签字: 年 月 日 客户 意见

签字: 年 月 日

三、工单任务分解

任务一:创建员工类实现相应方法

【知识目标】 (1)掌握类的创建规则 (2)掌握构造方法的工作原理

【能力目标】 (1)能编写结构合理的抽象类

【工作训练】 (1)编写Staff类,包含工号(empNo)、密码(password)、姓名(empName)、性别(gender)、身份证号(idCardNo)、年龄(age)、工龄(seniority)、工资(wages)、职称(title)、所属部门(department)、联系方式(phoneNum)、家庭住址(homeAddress),定义以下三种方法:登录系统方法(login)、查看个人信息的方法(showDetail)、修改个人信息的方法(alterDetail)。

备注: a.showDetail方法要求:按以下格式输出个人信息

b.login方法要求:检查输入的工号和密码,如果与员工工号和密码不一致,则登录失败,返回false,如果一致则登录成功,返回true。 c.alterDetail方法要求:先登录,登录成功后才能修改个人信息。仅支持修改联系方式和家庭住址。

(3)编写StaffManager类,包含员工列表(staffLists)、管理员账号(user)、管理员密码(password),定义以下方法:新增员工(addStaff)、查找指定员工信息(findStaff)、更新指定员工信息(updateStaffInfo)、删除指定员工(deleteStaff)。

备注: a.所有方法中都需要输入管理员账号和密码,核对正确才能进行操作。 b.addStaff方法要求:输入一个新员工对象,加入员工列表中。 c.findStaff方法要求:根据输入的员工编号查找到对应员工,并返回对应员工对象 d.updateStaffInfo方法要求:输入员工编号及新的员工对象,先在员工列表中找到对应的员工对象,将新的员工对象替换原有对象。 e.deleteStaff方法要求:根据输入的员工编号查找到对应员工,从员工列表中删除。

内容:【代码示例】

Staff类:

public abstract class Staff {
    private String empNo;
    private String password;
    private String empName;
    private String gender;
    private String idCardNo;
    private int age;
    private int seniority;
    private double wages;
    private String title;
    private String department;
    private String phoneNum;
    private String homeAddress;

    public Staff(String empNo, String password, String empName, String gender, String idCardNo, int age, int seniority, double wages, String title, String department, String phoneNum, String homeAddress) {
        this.empNo = empNo;
        this.password = password;
        this.empName = empName;
        this.gender = gender;
        this.idCardNo = idCardNo;
        this.age = age;
        this.seniority = seniority;
        this.wages = wages;
        this.title = title;
        this.department = department;
        this.phoneNum = phoneNum;
        this.homeAddress = homeAddress;
    }

    public boolean login(String empNo, String password) {
        if (this.empNo.equals(empNo) && this.password.equals(password)) {
            return true;
        } else {
            return false;
        }
    }

    public void showDetail() {
        System.out.println('工号:' + empNo);
        System.out.println('姓名:' + empName);
        System.out.println('性别:' + gender);
        System.out.println('年龄:' + age);
        System.out.println('工龄:' + seniority);
        System.out.println('所属部门:' + department);
        System.out.println('技能说明:' + title);
        System.out.println('工资级别:' + wages);
        System.out.println('联系方式:' + phoneNum);
        System.out.println('家庭住址:' + homeAddress);
    }

    public boolean alterDetail(String empNo, String password, String phoneNum, String homeAddress) {
        if (login(empNo, password)) {
            this.phoneNum = phoneNum;
            this.homeAddress = homeAddress;
            return true;
        } else {
            return false;
        }
    }

    public String getEmpNo() {
        return empNo;
    }

    public String getEmpName() {
        return empName;
    }

    public String getGender() {
        return gender;
    }
}

StaffManager类:

public class StaffManager {
    private ArrayList<Staff> staffLists;
    private String user;
    private String password;

    public StaffManager(String user, String password) {
        this.user = user;
        this.password = password;
        staffLists = new ArrayList<>();
    }

    public boolean login(String user, String password) {
        if (this.user.equals(user) && this.password.equals(password)) {
            return true;
        } else {
            return false;
        }
    }

    public void addStaff(Staff staff) {
        staffLists.add(staff);
    }

    public Staff findStaff(String empNo, String user, String password) {
        if (login(user, password)) {
            for (Staff staff : staffLists) {
                if (staff.getEmpNo().equals(empNo)) {
                    return staff;
                }
            }
            return null;
        } else {
            return null;
        }
    }

    public boolean updateStaffInfo(String empNo, Staff newStaff, String user, String password) {
        if (login(user, password)) {
            for (int i = 0; i < staffLists.size(); i++) {
                Staff staff = staffLists.get(i);
                if (staff.getEmpNo().equals(empNo)) {
                    staffLists.set(i, newStaff);
                    return true;
                }
            }
            return false;
        } else {
            return false;
        }
    }

    public boolean deleteStaff(String empNo, String user, String password) {
        if (login(user, password)) {
            for (int i = 0; i < staffLists.size(); i++) {
                Staff staff = staffLists.get(i);
                if (staff.getEmpNo().equals(empNo)) {
                    staffLists.remove(i);
                    return true;
                }
            }
            return false;
        } else {
            return false;
        }
    }
}
Java 员工管理系统开发实战:员工类与员工管理类实现

原文地址: https://www.cveoy.top/t/topic/otVe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录