这个系统包含了四块,第一块就是人员管理,经理分配三位分别有“ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理。同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这”ABC“权限的三个人代为写来访申请,来访审批,来访门卫登记管理。
具体步骤如下:
因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度。
从零开始学Java之出入门卫管理(一)里面包含了我所建立属性接口、方法接口以及 经理管理赋予“ABC”权限及解除权限的界面,我写了默认的三个账号跟密码(权限A:账号1001 密码:1314 权限B:账号1002 密码:1314 权限C:账号1003 密码:1314 ),你通过管理界面可以重新建立“新人”,或者“解雇老人”。
这一次我先将主函数展示给大家:主函数中包含了经理登录的 账号:admin 密码:admin。以及各方面登录后各个不同权限人调用不同的管理界面:
1.主函数,进入口。前面只发布了经理管理界面,所以只能进入ev.main();别的方法有待更新。后面加入了权限B的代码界面类
代码为:
package com.jereh.discrepancy;
import java.util.Scanner;
public class Test {
GoRequestView gbv = new GoRequestView();
GuestsView gv = new GuestsView();
Employeer emp = new Employeer();
EmployeerBiz empb = new EmployeerBiz();
EmployeerView ev = new EmployeerView();
ExamineView exa = new ExamineView();
ManegerView mv = new ManegerView();
Scanner input = new Scanner(System.in);
public void judge(){
System.out.println("#####################################################");
System.out.println("#################1.外出申请 2.来访申请################");
System.out.print("#################请输入你要选择的选项编号:");
int i = input.nextInt();
if(i==1){
gbv.goMain();
}else if(i==2){
gv.guestsMain();
}else
System.out.println("@@@@@@@=======没有这个选项!========@@@@@@");
}
public void check(){
empb.as();
System.out.print("\t@@@@请输入账号:");
String in = input.next();
System.out.print("\t@@@@请输入密码:");
String pwd = input.next();
emp = empb.deng(in, pwd);
if(emp==null){
System.out.println("@@@@@@你输入的账号密码不匹配!######");
}else{
if(emp.getLev().equals("T")){
ev.main();
}else if(emp.getLev().equals("A")){
judge();
}else if(emp.getLev().equals("B")){
exa.examineMain();
}else if(emp.getLev().equals("C")){
mv.managerMain();
}
}
}
public static void main(String[] args) {
Test test = new Test();
test.check();
}
}
2.特殊类:里面包含了一个特殊方法----这个方法是将 我本来定义的五种状态转化成文字来覆盖这个用数字代表的状态:0--代表申请 1--代表批准 2--代表驳回 3--代表出门卫 4--代表返回。主要是用户看不懂我们所写的01234代表什么,所以为了方便我就写了这个方法,这个方法与别的类都没有直接的关系,所以我单独写了一个类:
代码为:
package com.jereh.discrepancy;
public class Replenish {
public String tran(int i){ //转化:将状态0,1,2,3的转化成文字,然后返回
if(i==0){
return "申请ing";
}else if(i==1){
return "审批通过";
}else if(i==2){
return "驳回";
}else if(i==3){
return "过安检";
}else if(i==4){
return "已过安检";
}else
return null;
}
}
3.批准类:即递交申请后,权限B的人审批这张申请单,申请通过状态为1,申请被驳回状态为2.因为在门卫的界面中要显示所有通过批准的人员信息,然后输入编号,如果该编号存在就可通过门卫出去:
代码为:
package com.jereh.discrepancy;
import java.util.Scanner;
public class ExamineView {
Scanner input = new Scanner(System.in);
GuestsBiz gb = new GuestsBiz();
GoRequestBiz gr = new GoRequestBiz();
public void addView(){
while(true){
System.out.println("***************审批管理**********************");
System.out.println("\t员工工号\t\t员工姓名\t\t外出事由\t\t外出时间\t\t" +
"返回时间\t\t状态\t\t");
gr.show0();
System.out.println("=======================================================");
System.out.print("$$$$$$$$======== 1.批准 2.驳回 3. 退出:");
int n = input.nextInt();
System.out.print("@@@@@@@@========请输入你要操作的选项编号:");
int num = input.nextInt();
if(n==3){
System.exit(0);
}else if(gr.change(num, n)&&(n==1||n==2)){
System.out.println("*************操作成功!恭喜领导又斩获一匹黑马!*****");
}else
System.out.println("+++++++++your mother 飞了++++++++++");
}
}
public void showView(){
while(true){
System.out.println("***************审批管理**********************");
System.out.println("\t来访编号\t\t来访者姓名\t\t来访事由\t\t来访者所在公司\t" +
"来访时间\t\t状态\t\t");
gb.show0();
System.out.println("=======================================================");
System.out.print("$$$$$$$$======== 1.批准 2.驳回 3. 退出:");
int n = input.nextInt();
System.out.print("@@@@@@@@========请输入你要操作的选项编号:");
int num = input.nextInt();
if(n==3){
System.exit(0);
}else if(gb.change(num, n)&&(n==1||n==2)){
System.out.println("*************操作成功!恭喜领导又斩获一匹黑马!*****");
}else
System.out.println("+++++++++your mother 飞了++++++++++");
}
}
public void examineMain(){
while(true){
System.out.println("&&&&&&&&&&&&&&&&&&&&申请审批&&&&&&&&&&&&&&&&&&&&&&&");
System.out.println("$$$$$$$$$$$$===1.外出申请审批===$$$$$$$$$$$$");
System.out.println("$$$$$$$$$$$$===2.来访申请审批===$$$$$$$$$$$$");
System.out.println("$$$$$$$$$$$$====================$$$$$$$$$$$$");
System.out.print("请输入您要操作的选项编号:");
int in = input.nextInt();
if(in==1){
addView();
}else if(in==2){
showView();
}else
System.out.println("*********===亲,没有你要的特殊服务===*********");
}
}
}
这次就写到这,未完待续.......