⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leavemanage.java

📁 本系统是基于JAVA语言的办公系统
💻 JAVA
字号:
package org.pan.web;

import java.sql.*;
import java.util.Vector;
import java.util.Calendar;
import org.pan.util.*;
import javax.servlet.http.HttpServletRequest;
import org.pan.web.leave;

/**
 * Title:       假条信息管理类
 * Description:
 * Copyright:    Copyright (c) 2008
 * @author:		 双鱼林
 * @version 1.0
 */

public class leaveManage extends DataBase {
	private leave oneLeaveRecord = new leave();	//新的一个请假记录
	private javax.servlet.http.HttpServletRequest request; //建立页面请求
	private boolean sqlflag = true ;		//对接收到的数据是否正确
	private Vector leavelist;				//显示员工列表向量数组
	private int page = 1;					//显示的页码
	private int pageSize=5;				//每页显示的假条数
	private int pageCount =0;				//页面总数
	private long recordCount =0;			//查询的记录总数
  public String errorMessage = "";           //保存出错信息
  public String sqlStr = "";

	
	public leaveManage() throws Exception{
		super();
	}

	public Vector getLeavelist() {
		return leavelist;
	}

	public boolean getSqlflag() {
		return sqlflag;
	}

	public String getGbk( String str) {
		try
		{
			return new String(str.getBytes("ISO8859-1"));
		}
		catch (Exception e)
		{
			return str;
		}
	}
	
	//将页面表单传来的资料分解并保存到员工类的各个字段中
	public boolean getRequest(javax.servlet.http.HttpServletRequest newrequest) {
		boolean flag = false;
		try
		{	
			request = newrequest;
			
			String employeeId = request.getParameter("employeeId");
			if(null == employeeId || employeeId.equals("")) {
				employeeId = "";
				sqlflag = false;
			}
			oneLeaveRecord.setEmployeeId(getGbk(employeeId));
			
			String employeeName = request.getParameter("employeeName");
			if(null == employeeName || employeeName.equals("")) {
				employeeName = "";
				sqlflag = false;
			}
			oneLeaveRecord.setEmployeeName(getGbk(employeeName));
			
			String startTime = request.getParameter("startTime");
			if(null == startTime || startTime.equals("")) {
				startTime = "";
				sqlflag = false;
			}
			oneLeaveRecord.setStartTime(getGbk(startTime));
			
			String day = request.getParameter("day");
			if(null == day || day.equals("")) {
				day = "";
				sqlflag = false;
			}
			oneLeaveRecord.setDay(getGbk(day));
			
			String reason = request.getParameter("reason");
			if(null == reason || reason.equals("")) reason = "";
			oneLeaveRecord.setReason(getGbk(reason));
			
			String approvePerson = request.getParameter("approvePerson");
			if(null == approvePerson || approvePerson.equals("")) approvePerson = "";
			oneLeaveRecord.setApprovePerson(getGbk(approvePerson));
	
		  String  editTime = request.getParameter("editTime");
		  if(null == editTime || editTime.equals("")) editTime = "";
		  oneLeaveRecord.setEditTime(getGbk(editTime));
		  
		  String memo = request.getParameter("memo");
		  if(null == memo || memo.equals("")) {
		  	memo = "";
		  }
		  oneLeaveRecord.setMemo(getGbk(memo));
		  
			if (sqlflag){
				flag = true;
			}
			return flag;					
		}
		catch (Exception e)
		{
			return flag;
		}
	}


  //按条件执行请假信息的查找并将结果保存到Leavelist向量数组中
	public boolean execute(HttpServletRequest res) throws Exception {  //用于执行按条件查询
		request = res;
		String PAGE = request.getParameter("page");   //页码
		try {
			page = Integer.parseInt(PAGE);
		}
		catch (NumberFormatException e)
		{
			page = 1;
		}
		 
		//取出记录数
		sqlStr = "select count(*) from leave";
		String searchZiduan = request.getParameter("searchZiduan");
		if(searchZiduan == null) searchZiduan = "";
		String keyword = request.getParameter("keyword");
		if(keyword == null) keyword = "";
		keyword = getGbk(keyword);
		
		if(!searchZiduan.equals("")) {
			sqlStr = sqlStr + " where " + searchZiduan + " like '%" + keyword + "%'";
		}
		
		int rscount = pageSize;
		try
		{
			ResultSet rs1 = stmt.executeQuery(sqlStr);
			if (rs1.next()) recordCount = rs1.getInt(1);				
			rs1.close();
		}
		catch (SQLException e)
		{
			errorMessage = "查询记录总数错误:" + sqlStr + e.getMessage();
			return false;
		}
		//计算查询结果总页数
		if (recordCount < 1)
      pageCount = 0;
    else
      pageCount = (int)(recordCount - 1) / pageSize + 1;
		//检查查看的页面数是否在范围内
		if (page < 1)  
       page = 1;
    else if (page >= pageCount) //如果请求最后一页的记录
    {
       page = pageCount;
		   rscount = (int) recordCount % pageSize;
		  }
		
		sqlStr = "select * from leave";  //根据不同条件构造不同的sql查询字符串
		if(!searchZiduan.equals("")) {
			sqlStr = sqlStr + " where " + searchZiduan + " like '%" + keyword + "%'";
		}
		try {
			rs = stmt.executeQuery(sqlStr);
			leavelist = new Vector(rscount);
			for(int i=0;i<pageSize*(page-1);i++)rs.next();//跳过前面页的记录
			while (rs.next())
			{
				leave aLeaveRecord = new leave();
				aLeaveRecord.setLeaveId(rs.getLong("leaveId"));
				aLeaveRecord.setEmployeeId(rs.getString("employeeId"));
				aLeaveRecord.setEmployeeName(rs.getString("employeeName"));
				aLeaveRecord.setStartTime(rs.getString("startTime"));
				aLeaveRecord.setDay(rs.getString("day"));
				aLeaveRecord.setReason(rs.getString("reason"));
				aLeaveRecord.setApprovePerson(rs.getString("approvePerson"));
				aLeaveRecord.setEditTime(rs.getString("editTime"));
				aLeaveRecord.setMemo(rs.getString("memo"));
				leavelist.addElement(aLeaveRecord);
			}
			rs.close();
			return true;
		}
		catch (SQLException e)
		{
			errorMessage = errorMessage + sqlStr + e.getMessage();
			System.out.println(e);
			return false;
		}
	}

  //向数据库中假条信息表中插入一条新的记录
	public boolean insert() throws Exception {
		String editTime;
    Calendar cal=Calendar.getInstance(); 
    Integer y,m,d,h,mi,s;
    y=cal.get(Calendar.YEAR); 
    m=cal.get(Calendar.MONTH) + 1; 
    d=cal.get(Calendar.DATE); 
    h=cal.get(Calendar.HOUR_OF_DAY); 
    mi=cal.get(Calendar.MINUTE); 
    s=cal.get(Calendar.SECOND); 
    editTime = y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒"; 
		sqlStr = "insert into leave(employeeId,employeeName,startTime,day,reason,approvePerson,editTime,memo) values ('";
		sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getEmployeeId()) + "','";
		sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getEmployeeName()) + "','";
		sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getStartTime()) + "','";
	  sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getDay()) + "','";
	  sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getReason()) + "','";
	  sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getApprovePerson()) + "','";
	  sqlStr = sqlStr + strFormat.toSql(editTime) + "','";
	  sqlStr = sqlStr + strFormat.toSql(oneLeaveRecord.getMemo()) + "')";
		try
		{
			stmt.execute(sqlStr);
			return true;
		}
		catch (SQLException sqle)
		{	
			errorMessage = errorMessage + sqlStr + sqle.getMessage();
			return false;
		}
	}
	
	//更新假条表中的一条记录
	public boolean update(long leaveId) throws Exception {
		String editTime;
    Calendar cal=Calendar.getInstance(); 
    Integer y,m,d,h,mi,s;
    y=cal.get(Calendar.YEAR); 
    m=cal.get(Calendar.MONTH) + 1; 
    d=cal.get(Calendar.DATE); 
    h=cal.get(Calendar.HOUR_OF_DAY); 
    mi=cal.get(Calendar.MINUTE); 
    s=cal.get(Calendar.SECOND); 
    editTime = y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒"; 
		sqlStr = "update leave set ";
		sqlStr = sqlStr + "employeeId = '" + strFormat.toSql(oneLeaveRecord.getEmployeeId()) + "',";
		sqlStr = sqlStr + "employeeName = '" + strFormat.toSql(oneLeaveRecord.getEmployeeName()) + "',";
		sqlStr = sqlStr + "startTime = '" + strFormat.toSql(oneLeaveRecord.getStartTime()) + "',";
		sqlStr = sqlStr + "day = '" + strFormat.toSql(oneLeaveRecord.getDay()) + "',";
		sqlStr = sqlStr + "reason = '" + strFormat.toSql(oneLeaveRecord.getReason()) + "',";
		sqlStr = sqlStr + "approvePerson = '" + strFormat.toSql(oneLeaveRecord.getApprovePerson()) + "',";
		sqlStr = sqlStr + "editTime = '" + editTime + "',";
		sqlStr = sqlStr + "memo = '" + strFormat.toSql(oneLeaveRecord.getMemo()) + "' ";
		sqlStr = sqlStr + "where leaveId =" + leaveId;
		System.out.println(sqlStr);
		try
		{		
			stmt.execute(sqlStr);
			return true;
		}
		catch (SQLException e)
		{
			errorMessage = sqlStr + e.getMessage();
			return false;
		}
	}

  //删除编号为leaveId的假条
	public boolean delete(long leaveId) throws Exception {
		sqlStr = "delete from leave where leaveId = "  + leaveId;
		try
		{
			stmt.execute(sqlStr);
			return true;
		}
		catch (SQLException e)
		{
			System.out.println(e);
			return false;
		}
	}

  //得到编号为leaveId的假条信息并保存的leavelist向量数组中
	public boolean getOneLeave(long leaveId) throws Exception {
		try
		{
			sqlStr="select * from leave where leaveId =" + leaveId;
			rs = stmt.executeQuery(sqlStr);
			if (rs.next())
			{	
				leavelist = new Vector(1);
				leave aLeaveRecord = new leave();
				aLeaveRecord.setLeaveId(rs.getLong("leaveId"));
				aLeaveRecord.setEmployeeId(rs.getString("employeeId"));
				aLeaveRecord.setEmployeeName(rs.getString("employeeName"));
				aLeaveRecord.setStartTime(rs.getString("startTime"));
				aLeaveRecord.setDay(rs.getString("day"));
				aLeaveRecord.setReason(rs.getString("reason"));
				aLeaveRecord.setApprovePerson(rs.getString("approvePerson"));
				aLeaveRecord.setEditTime(rs.getString("editTime"));
				aLeaveRecord.setMemo(rs.getString("memo"));
				leavelist.addElement(aLeaveRecord);
			} else {
				rs.close();
				errorMessage = sqlStr;
				return false;
			}
			rs.close();
			return true;
		}
		catch (SQLException e)
		{
			errorMessage = sqlStr + e.getMessage();
			return false;
		}
		
	}

	public int getPage() {				//显示的页码
		return page;
	}
	public void setPage(int newpage) {
		page = newpage;
	}

	public int getPageSize(){			//每页显示的图书数
		return pageSize;
	}
	public void setPageSize(int newpsize) {
		pageSize = newpsize;
	}

	public int getPageCount() {				//页面总数
		return pageCount;
	}
	public void setPageCount(int newpcount) {
		pageCount = newpcount;
	}

	public long getRecordCount() {
		return recordCount;
	}
	public void setRecordCount(long newrcount) {
		recordCount= newrcount;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -