从零开始学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("@@@@@@@=======没有这个选项![email protected]@@@@@");
	}
	public void check(){
		empb.as();
		System.out.print("\[email protected]@@@请输入账号:");
		String in = input.next();
		System.out.print("\[email protected]@@@请输入密码:");
		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("*********===亲,没有你要的特殊服务===*********");
		}

	}

}

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

    

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 01:17:37

从零开始学Java之出入门卫管理(二)的相关文章

从零开始学java之出入门卫管理系统(三)

  这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.     从零开始学Java之出入门卫管理

从零开始学Java之 出入门卫管理系统(一)

    这个系统包含了四块,第一块就是人员管理,经理分配三位分别有"ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理.同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这"ABC"权限的三个人代为写来访申请,来访审批,来访门卫登记管理.     具体步骤如下:     因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度.  属性接口: package com

从零开始学android<ListView数据列表显示组件.二十一.>

与滚动视图(ScrollView)类似的还有一种列表组件(ListView),可以将多个组件加入到ListView之中以达到组件的滚动显示效果,ListView组件本身也有对应的ListView类支持,可以通过操作ListView类以完成对此组组件的操作,ListView类的继承结构如下所示: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView<T extends a

从零开始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

ImageSwitcher组件的主要功能是完成图片的切换显示,例如用户在进行图片浏览的时候,可以通过按钮点击一张张的切换显示的图片,而且使用ImageSwitcher组件在每次切换的时候也可以为其增加一些动画的效果,此类定义如下: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.ViewAnimator ? android.wid

如何从零开始学Java编程

Java语言的学习开始,很多同学不知道从哪入手?如果你也想知道如何从零开始学Java?怎样学Java最有效? 虽然Java面象对象很多东西都是被封装好的直接用,相对其他语言没那么复杂,但是学的东西也没有那么的so easy,总之如果你是真想做开发,就先沉下心用心把基础打好,不要先老想着因为软件行业有市场,所以要进来分一杯羹的这种急躁心态. 另外,在编程这个行业,技术更新速度快,所以一定要具备相应的自学能力及自学意识,不然即使现在入职了Java相关的工作,不主动学习的话,说不定几年后你就跟不上技术

从零开始学android&lt;Toast土司提示组件.二十.&gt;

在系统之中,通过对话框可以对用户的某些操作进行提示,但是在Android平台之中也提供了另外一套更加友好的提示界面效果,而且这种界面在提示用户的时候不会打断用户的正常操作,这种对话框可以通过Toast组件实现. Toast是一个以简单提示信息为主要显示操作的组件,在Android之中android.widget.Toast的继承结构如下所示: java.lang.Object ? android.widget.Toast 常用的方法: No. 方法及常量 类型 描述 1 public stati

从零开始学 Web 之 JS 高级(二)原型链,原型的继承

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.原型链 原型链

从零开始学java(二)类与对象

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为. 类是对象的抽象,对象是类的具体实例. 1.构造一个类,让其拥有属性和方法 public class Employee { //属性,私有化属性,并提供方法让其能够通过方法访问 private String name; private int age; private double salary; private static final int NUMBER=217;

从零开始学Java (二)Hello

1.新建Hello.java文件,写入以下内容 1 public class Hello { 2 public static void main(String[] args) { 3 System.out.println("Hello, world!"); 4 } 5 } 2.使用javac将Hello.java编译成字节码文件Hello.class 1 javac Hello.java 3.运行 1 java Hello Tips: 1.Java保存的文件名必须与类名一致: 2.如果