1.系统分析
在已完成的系统中,普通员工的“汇报工作”功能只是保存了汇报Id、汇报人Id以及汇报的内容,查看汇报时将无法查看汇报的具体时间,如果在汇报中增加上汇报时间,那么系统就比较完善了。同理,在显示今日工作内容时也可以显示出系统当前日期。
2.本次任务
(1)修改Report类,增加“汇报时间”成员变量以及相应的get/set方法,修改有参构造方法。
(2)修改Menu类的showStaffMenu()方法,保存汇报时间。
(3)修改Staff类中的doWork()方法显示工作的时间。
(4)修改Manager类中的displayReports()方法,显示所有汇报的时间;修改doWork()方法显示工作的时间。
(5)修改Admin类中的doWork()方法显示工作的时间。
3.代码实现
1)Report类
public class Report{
private int reportId;
private String reportData;
private String reporterId;
private String content;
//省略
}
2)Menu类的showStaffMenu()方法
public class Menu{
//省略部分代码
do{
String num=new Report();
if(num.equals("1")){
//汇报工作
Report report=new Report();//实例化report对象
report.setReportId(Data.reportcount+1);
report.setReporertId(Data.currentEmployee.getEmpNo());
System.out.println("请输入汇报信息\n");
String content=input.next();
report.setContent(content);
Calender c=Calender.getInstance();
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH)+1;
int day=c.get(Calender.DAY_OF_MONTH);
String date=""+year+"年"+month+"月"+day+"日";
report.setReportDate(date);
Data.staff.addReport(report);
System.out.println("汇报完毕!");
//重新显示普通员工菜单
showStaffMenu();
break;
}else if(num.equals("2")){
...//省略
}
3)Staff类
public class Staff extends Employee{
...//其他省略
public void doWork(){
Calender c=Calender.getInstance();
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH)+1;
int day=c.get(Calender.DAY_OF_MONTH);
String date=""+year+"年"+month+"月"+day+"日";
System.out.println(data+":"+Data.currentEmployee.getEmpName()+"的工作任务是:");
System.out.println("*****************************");
System.out.println("\t回访客户!\n");
}
...//其他省略
}
4)Manager类
public class Manager extends Employee{
public void displayReports(){
System.out.println("汇报如下:");
System.out.println("***********************************");
System.out.println("汇报时间"+"\t\t"+"汇报Id"+"\t"+"汇报人Id"+"\t\t"+"汇报内容");
for(int i=0;i<Data.reportcount;i++){
System.out.println(Data.report[i].getReportDate()+"\t"+Data.report[i].getReportId()+"\t"+Data.reports[i].getReporterId()+"\t\t"+Data.report[i].getContent());
}
}
public void doWork(){
Calender c=Calender.getInstance();
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH)+1;
int day=c.get(Calender.DAY_OF_MONTH);
String date=""+year+"年"+month+"月"+day+"日";
System.out.println(data+":"+Data.currentEmployee.getEmpName()+"的工作任务是:");
System.out.println("*****************************");
System.out.println("\t制定计划!\n");
}
...//其他省略
}
5)Admin类
public class Admin extends Employee{
...//其他省略
public void doWork(){
Calender c=Calender.getInstance();
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH)+1;
int day=c.get(Calender.DAY_OF_MONTH);
String date=""+year+"年"+month+"月"+day+"日";
System.out.println(data+":"+Data.currentEmployee.getEmpName()+"的工作任务是:");
System.out.println("*****************************");
System.out.println("\t维护员工信息!\n");
}
...//其他省略
}