从零开始学java之出入门卫管理系统(三)
来源:互联网 发布:网络的拼音怎么写的 编辑:程序博客网 时间:2024/05/01 04:11
这个系统包含了四块,第一块就是人员管理,经理分配三位分别有“ABC"权限的人,分别管理请假申请,请假审批,门卫登记管理。同时不属于本公司的内部人员,如别的公司的人员如果想到本公司访问,也是先通过这”ABC“权限的三个人代为写来访申请,来访审批,来访门卫登记管理。
具体步骤如下:
因为后面都会用到很多相同的方法,和相同的属性,所以我先建立了两个接口让后面的方法类和属性类都实现这两个接口,这样就降低了耦合度。
从零开始学Java之出入门卫管理(一)里面包含了我所建立属性接口、方法接口以及 经理管理赋予“ABC”权限及解除权限的界面,我写了默认的三个账号跟密码(权限A:账号1001 密码:1314 权限B:账号1002 密码:1314 权限C:账号1003 密码:1314 ),你通过管理界面可以重新建立“新人”,或者“解雇老人”。
此次要写的内容为:本公司内部人员请假外出申请与其他公司人员到本公司访问申请,都由本公司权限为A的人写申请单,然后递交到权限B的人进行批阅。都是有权限A的人写申请,这两个类属性也有很多近似!
具体内容为:
1.公司内部人员外出申请属性类:
package com.jereh.discrepancy;public class GoRequest implements Attribute,java.io.Serializable{private int emp_no; //工号private String emp_name; //姓名private String req_sesc; //事由private String go_date; //外出时间private String go_time; //外出时间private String back_time; //返回时间private int stus; //状态private String cf_data; //批准日期private String cf_emp; //审核者public int getEmp_no() {return emp_no;}public void setEmp_no(int empNo) {emp_no = empNo;}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 getGo_date() {return go_date;}public void setGo_date(String goDate) {go_date = goDate;}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 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.公司内部人员外出申请方法类:
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.*;public class GoRequestBiz implements Father{List<GoRequest> list = new ArrayList<GoRequest>();GoRequest go = new GoRequest();Replenish rep = new Replenish();@Overridepublic boolean add(Attribute at) { // 添加信息read();//for(int i =0; i<list.size();i++){//go = (GoRequest)list.get(i);//if(go.getEmp_no() == 1){//return false;//}//}list.add((GoRequest) at);write();return true;}@Overridepublic boolean delete(int num) { //删除信息read();for(int i =0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no() == num){list.remove(i);write();return true;}}return false;}@Overridepublic void show() { //展示信息read(); for(int i =0;i<list.size();i++){ go = (GoRequest)list.get(i); System.out.println("\t"+go.getEmp_no()+"\t\t"+go.getEmp_name()+"\t\t" +go.getReq_sesc()+ "\t\t"+go.getGo_time()+"\t\t"+go.getBack_time() +"\t\t"+rep.tran(go.getStus())); }}public void change3(int num) { //判断是否存在此条信息read();for(int i = 0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no() == num){go.setStus(3);write();}}}public void change4(int num) { //判断是否存在此条信息read();for(int i = 0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no() == num){go.setStus(4);write();}}}@Override public boolean update(int num) { //判断是否存在此条信息read();for(int i = 0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no() == num){return true;}}return false;}public GoRequest getGoRequest(int num) { //判断是否存在此条信息,返回对象,在门卫那边调用read();for(int i = 0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no() == num){return go;}}return null;}public void show0(){ //输出状态为0的所有申请信息,审批时使用read(); for(int i =0;i<list.size();i++){ go = (GoRequest)list.get(i); if(go.getStus()==0){ System.out.println("\t"+go.getEmp_no()+"\t\t"+go.getEmp_name()+"\t\t" +go.getReq_sesc()+ "\t\t"+go.getGo_time()+"\t\t"+go.getBack_time() +"\t\t"+rep.tran(go.getStus())); } }}public void show1(){ //输出状态为1的所有申请信息,门卫登记时使用read(); for(int i =0;i<list.size();i++){ go = (GoRequest)list.get(i); if(go.getStus()==1){ System.out.println("\t"+go.getEmp_no()+"\t\t"+go.getEmp_name()+"\t\t" +go.getReq_sesc()+ "\t\t"+go.getGo_time()+"\t\t"+go.getBack_time() +"\t\t"+rep.tran(go.getStus())); } }}public boolean change(int num,int n){ //ExamineView审批时使用的改变状态的方法read();for(int i = 0; i<list.size();i++){go = (GoRequest)list.get(i);if(go.getEmp_no()==num){go.setStus(n);write();return true;}}return false;}@Overridepublic boolean updateJu(int num) { //修改该条信息return false;}@Overridepublic void read(){ //读取123.txt中的文件ObjectInputStream ois = null;FileInputStream fis = null;File file = new File("E:\\h\\123\\go.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();}}}public void write(){ //写入123.txt文件中数据ObjectOutputStream oos = null;FileOutputStream fos = null;File file = new File("E:\\h\\123\\go.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.公司内部人员外出申请View类:
package com.jereh.discrepancy;import java.util.Scanner;public class GoRequestView {Scanner input = new Scanner(System.in);Father gr = new GoRequestBiz();GoRequest go = new GoRequest(); int emp_no; //工号 String emp_name; //姓名 String req_sesc; //事由 String go_time; //外出时间 String back_time; //返回时间 int stus; //状态 String cf_data; //批准日期 String cf_emp; //审核者 public void addView(){System.out.println("####现在开始录入信息,请正确操作####");System.out.print("¥¥¥¥请输入申请人的工号:");emp_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("¥¥¥¥¥请输入返回时间:");back_time = input.next();go.setBack_time(back_time);go.setEmp_name(emp_name);go.setEmp_no(emp_no);go.setReq_sesc(req_sesc);go.setGo_date(go_time);if(gr.add(go)){System.out.println("####录入成功… ^_^ #####");}elseSystem.out.println("####录入失败… -_- #####");}public void updateView(){System.out.print(" ……请输入您要修改的员工工号:");emp_no = input.nextInt();if(gr.update(emp_no)){System.out.println("%%%%%%%修改成功,呵呵………………");}elseSystem.out.println("@@@@@@@@没找到您要修改的员工信息@@@@@@@");}public void deleteView(){System.out.print(" ……请输入您要删除的员工工号:");emp_no = input.nextInt();if(gr.delete(emp_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\t");gr.show();System.out.println("=======================================================");}public void goMain(){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;}}}}
未完待续。。。。。。。
1 0
- 从零开始学java之出入门卫管理系统(三)
- 从零开始学Java之 出入门卫管理系统(一)
- 从零开始学Java之出入门卫管理系统(四)
- 从零开始学Java之出入门卫管理(二)
- Java之 出入门卫管理系统(一)
- 从零开始学java 之 DVD的增删改查管理系统(方法,界面,数据库相分离)用IO流写入文件代替数据库
- 从零开始学Android(三)
- 从零开始学Makefile(三)
- RxAndroid从零开始学之三(线程调度)
- 从零开始学Java(三)操作符与流程控制
- 从零开始学java(三)数据类型和注释等
- 从零开始学Java自己利用接口和集合框架做的简单图书管理系统
- 从零开始学Java之线程详解(1):原理、创建
- Java入门教程之图书管理系统(由简入繁)(三)
- 从零开始学HTML(三)--HTML 元素
- 【从零开始学NGUI 】 (三)Button
- 从零开始学Hadoop----浅析HDFS(三)
- 从零开始学jBPM6(三)- Eclipse
- 【翻译自mos文章】在网络流量变大(比如rman duplicat 一个active database)之后,由于脑裂导致节点重启
- 需要看一看的博客
- C语言字符串处理函数库
- 如何利用cmd删除文件夹
- 前端页面的两轮渲染
- 从零开始学java之出入门卫管理系统(三)
- esayyui的layout嵌套布局可以解决fit自适应的位置偏移问题
- android canvas探究
- 天声人語 20150830
- 日经春秋 20150830
- 日经社説 20150830 戦後70年の視角 資本主義を鍛え世界に変革の姿を
- 【翻译自mos文章】当 使用DCD 和TCPS时,rman duplicate hang住
- 社説 20150830 ギリシャ総選挙 チプラス氏は延命できるのか
- 社説 20150830 休眠預金法案 公正性の確保へ審議を尽くせ