从零开始学Java之出入门卫管理(二)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有“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("*********===亲,没有你要的特殊服务===*********");
		}
		
	}

}

这次就写到这,未完待续.......



    

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值