从零开始学Java之出入门卫管理系统(四)
来源:互联网 发布:网络的拼音怎么写的 编辑:程序博客网 时间:2024/05/01 00:12
这个系统包含了四块,第一块就是人员管理,经理分配三位分别有“ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理。同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这”ABC“权限的三个人代为写来访申请,来访审批,来访门卫登记管理。
具体步骤如下:
因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度。
从零开始学Java之出入门卫管理(一)里面包含了我所建立属性接口、方法接口以及 经理管理赋予“ABC”权限及解除权限的界面,我写了默认的三个账号跟密码(权限A:账号1001 密码:1314 权限B:账号1002 密码:1314 权限C:账号1003 密码:1314 ),你通过管理界面可以重新建立“新人”,或者“解雇老人”。
此次要写的内容为:本公司内部人员请假外出申请与其他公司人员到本公司访问申请,都由本公司权限为A的人写申请单,然后递交到权限B的人进行批阅。都是有权限A的人写申请,这两个类属性也有很多近似!
具体代码如下:
1.其他公司到本公司访问 A写的申请属性类:
package com.jereh.discrepancy;public class Guests implements Attribute,java.io.Serializable{private int req_no; //申请编号private String emp_name; //访客姓名private String req_sesc; //来访事由private String iCard_no; //证件号private String guest_comp; //来访公司private String go_time; //来访时间private String back_time; //返回时间private int stus; //状态private String rgdt_emp; //申请者 private String cf_data; //批准日期private String cf_emp; //审核者public int getReq_no() {return req_no;}public void setReq_no(int reqNo) {req_no = reqNo;}public String getEmp_name() {return emp_name;}public void setEmp_name(String empName) {emp_name = empName;}public String getReq_sesc() {return req_sesc;}public void setReq_sesc(String reqSesc) {req_sesc = reqSesc;}public String getiCard_no() {return iCard_no;}public void setiCard_no(String iCardNo) {iCard_no = iCardNo;}public String getGuest_comp() {return guest_comp;}public void setGuest_comp(String guestComp) {guest_comp = guestComp;}public String getGo_time() {return go_time;}public void setGo_time(String goTime) {go_time = goTime;}public String getBack_time() {return back_time;}public void setBack_time(String backTime) {back_time = backTime;}public int getStus() {return stus;}public void setStus(int stus) {this.stus = stus;}public String getRgdt_emp() {return rgdt_emp;}public void setRgdt_emp(String rgdtEmp) {rgdt_emp = rgdtEmp;}public String getCf_data() {return cf_data;}public void setCf_data(String cfData) {cf_data = cfData;}public String getCf_emp() {return cf_emp;}public void setCf_emp(String cfEmp) {cf_emp = cfEmp;}}
2..其他公司到本公司访问 A写的申请方法类:
package com.jereh.discrepancy;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.List;public class GuestsBiz implements Father{List<Guests> list = new ArrayList<Guests>();Guests gs = new Guests();Replenish rep = new Replenish();@Overridepublic boolean add(Attribute at) { //添加申请访客信息read();list.add((Guests) at);write();return true;}@Overridepublic boolean delete(int num) { //删除访客申请信息read();for(int i =0;i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no()==num){list.remove(i);write();return true;}}return false;}public Guests getGoRequest(int num) { //判断是否存在此条信息,返回对象,在门卫那边调用read();for(int i = 0; i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no() == num){return gs;}}return null;}public void change3(int num) { //判断是否存在此条信息read();for(int i = 0; i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no() == num){gs.setStus(3);write();}}}public void change4(int num) { //判断是否存在此条信息read();for(int i = 0; i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no() == num){gs.setStus(4);write();}}}@Overridepublic void show() { //展示来客信息read();for(int i=0;i<list.size();i++){gs = (Guests)list.get(i);System.out.println("\t"+gs.getReq_no()+"\t\t"+gs.getEmp_name()+"\t\t\t"+gs.getReq_sesc()+"\t\t"+gs.getGuest_comp()+"\t\t"+gs.getGo_time()+"\t"+rep.tran(gs.getStus()));}}@Overridepublic boolean update(int num) { //查询是否有此人read();for(int i = 0; i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no() == num){return true;}}return false;}public boolean change(int num,int n){ //ExamineView审批时使用的改变状态的方法read();for(int i = 0; i<list.size();i++){gs = (Guests)list.get(i);if(gs.getReq_no()==num){gs.setStus(n);write();return true;}}return false;}public void show1(){ //输出状态为1的所有申请信息,门卫登记时使用read(); for(int i =0;i<list.size();i++){ gs = (Guests)list.get(i); if(gs.getStus()==1){ System.out.println("\t"+gs.getReq_no()+"\t\t"+gs.getEmp_name()+"\t\t\t"+gs.getReq_sesc()+"\t\t"+gs.getGuest_comp()+"\t\t"+gs.getGo_time()+"\t"+rep.tran(gs.getStus())); } } }public void show0(){ //输出状态为0的所有申请信息,审批时使用read(); for(int i =0;i<list.size();i++){ gs = (Guests)list.get(i); if(gs.getStus()==0){ System.out.println("\t"+gs.getReq_no()+"\t\t"+gs.getEmp_name()+"\t\t\t"+gs.getReq_sesc()+"\t\t"+gs.getGuest_comp()+"\t\t"+gs.getGo_time()+"\t"+rep.tran(gs.getStus())); } } }@Overridepublic boolean updateJu(int num) {// TODO Auto-generated method stubreturn false;}@Overridepublic void read() {ObjectInputStream ois = null;FileInputStream fis = null;File file = new File("E:\\h\\123\\guests.txt");try {fis = new FileInputStream(file);ois = new ObjectInputStream(fis);list = (List)ois.readObject();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {ois.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}@Overridepublic void write() {ObjectOutputStream oos = null;FileOutputStream fos = null;File file = new File("E:\\h\\123\\guests.txt");try {if(!file.exists()){fos = new FileOutputStream(file);oos = new ObjectOutputStream(fos);oos.writeObject(list);}else{file.createNewFile();fos = new FileOutputStream(file);oos = new ObjectOutputStream(fos);oos.writeObject(list);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {oos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
3.其他公司到本公司访问 A写的申请View类:
package com.jereh.discrepancy;import java.util.Scanner;public class GuestsView {Scanner input = new Scanner(System.in);GuestsBiz gb = new GuestsBiz();Guests guest = new Guests(); int req_no; //申请编号 String emp_name; //访客姓名 String req_sesc; //来访事由 String guest_comp; //来访公司 String go_time; //来访时间 int stus; //状态public void addView(){System.out.println("####现在开始录入信息,请正确操作####");System.out.print("¥¥¥¥请输入来访编号:");req_no = input.nextInt();System.out.print("¥¥¥¥请输入来访者姓名:");emp_name = input.next();System.out.print("¥¥¥¥请输入来访事由:");req_sesc = input.next();System.out.print("¥¥¥¥¥请输入来访时间:");go_time = input.next();System.out.print("¥¥¥¥¥请输入来访者所在公司:");guest_comp = input.next();guest.setReq_no(req_no);guest.setEmp_name(emp_name);guest.setGuest_comp(guest_comp);guest.setReq_sesc(req_sesc);guest.setGo_time(go_time);if(gb.add(guest)){System.out.println("####录入成功… ^_^ #####");}elseSystem.out.println("####录入失败… -_- #####");}public void updateView(){System.out.print(" ……请输入您要修改的员工工号:");req_no = input.nextInt();if(gb.update(req_no)){System.out.println("%%%%%%%修改成功,呵呵………………");}elseSystem.out.println("@@@@@@@@没找到您要修改的员工信息@@@@@@@");}public void deleteView(){System.out.print(" ……请输入您要删除的员工工号:");req_no = input.nextInt();if(gb.delete(req_no)){System.out.println("%%%%%%%删除成功,此人已经灵车漂移………………");}elseSystem.out.println("@@@@@@@@没找到,有事请烧纸@@@@@@@");}public void showView(){System.out.println("*************员工申请外出记录**********************");System.out.println("\t来访编号\t\t来访者姓名\t\t来访事由\t\t来访者所在公司\t" +"来访时间\t\t状态\t\t");gb.show();System.out.println("=======================================================");}public void guestsMain(){while(true){System.out.println("***************外出申请信息管理********************");System.out.println("\t===1.来访申请信息录入===");System.out.println("\t***2.来访申请信息修改***");System.out.println("\t###3.来访申请信息删除###");System.out.println("\t@@@4.来访申请信息查询@@@");System.out.println("\t===5.退出===");System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++");System.out.print("======请输入您要操作的选项编号:");int no = input.nextInt();switch(no){case 1:addView();break;case 2:updateView();break;case 3:deleteView();break;case 4:showView();break;case 5:System.exit(0);break;default : System.out.println("@@@@@并没有这个选项!为了世界和平,请正确操作@@@@");break;}}}}
0 0
- 从零开始学Java之出入门卫管理系统(四)
- 从零开始学Java之 出入门卫管理系统(一)
- 从零开始学java之出入门卫管理系统(三)
- 从零开始学Java之出入门卫管理(二)
- Java之 出入门卫管理系统(一)
- 从零开始学java 之 DVD的增删改查管理系统(方法,界面,数据库相分离)用IO流写入文件代替数据库
- 从零开始学Android(四)
- 从零开始学Makefile(四)
- RxAndroid从零开始学之四(常见操作符)
- 从零开始学java(四)数据类型和类型转换
- 从零开始学java(四)--面向对象(上)
- Java入门教程之图书管理系统(由简入繁)(四)
- 从零开始学Java自己利用接口和集合框架做的简单图书管理系统
- 从零开始学HTML(四)--HTML 属性
- 【从零开始学NGUI 】 (四)Slider
- 从零开始学Java之线程详解(1):原理、创建
- 从零开始学C++之STL(四):算法简介、7种算法分类
- 从零开始学C++之STL(四):算法简介、7种算法分类
- 日经社説 20150830 戦後70年の視角 資本主義を鍛え世界に変革の姿を
- 【翻译自mos文章】当 使用DCD 和TCPS时,rman duplicate hang住
- 社説 20150830 ギリシャ総選挙 チプラス氏は延命できるのか
- 社説 20150830 休眠預金法案 公正性の確保へ審議を尽くせ
- 1 数据结构类-最近公共祖先LCA问题
- 从零开始学Java之出入门卫管理系统(四)
- 第一章线程管理
- 欢迎使用CSDN-markdown编辑器
- ubuntu14.10上编译Android5.0.2源码
- UBUNTU 查看 JAVA安装路径
- win64oracle11g安装
- Dynamic Programming
- Python通过pyserial控制串口操作
- WM_CREATE,WM_INITDIALOG 区别,以及MFC应用程序中处理消息的顺序