📄 leavemanage.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 + -