需求分析。
1.基础信息管理:考勤类型添加、考勤类型管理。主要是对考勤类型的添加、编辑、删除等。
2.学生档案管理:学生编号、姓名、登录密码、身份证号、性别、所属班级、出生日期、籍贯、政治面貌、民族、手机号码、家庭住址。
3.考勤信息管理:学生编号、考勤名称、考勤内容、开始日期、结束日期、检查老师、考勤结果。
4.请假信息管理:学生编号、状态、请假内容、批准人、开始日期、结束日期、请假天数等。
5.修改密码:管理登录系统后可以修改密码信息。
表4 leave 请假表
名称 |
类型大小 |
说明 |
LeaveNO |
int(11) |
|
stuID |
varchar(30) |
学生编号 |
LeavePunish |
varchar(30) |
请假名称 |
LeaveContent |
varchar(50) |
内容 |
StartDate |
varchar(30) |
开始时间 |
CancelDate |
varchar(30) |
结束时间 |
CancelReason |
varchar(30) |
天数 |
Remark |
varchar(500) |
备注 |
表5 t_xuesheng 学生表
字段名称 |
自动增长 |
字段大小 |
字段类型 |
默认值 |
允许空 |
说明 |
id(*) |
√ |
4 |
int |
- |
× |
编号 |
xuehao |
- |
50 |
varchar |
- |
√ |
学号 |
xingming |
- |
50 |
varchar |
- |
√ |
姓名 |
xingbie |
- |
50 |
varchar |
- |
√ |
性别 |
ruxueriqi |
- |
50 |
varchar |
- |
√ |
入学日期 |
zhuanye |
- |
50 |
varchar |
- |
√ |
专业 |
dianhua |
- |
50 |
varchar |
- |
√ |
电话 |
jiguan |
- |
50 |
varchar |
- |
√ |
籍贯 |
del |
- |
4 |
int |
- |
√ |
是否删除 |
package kaoqinsystem.action;
import kaoqinsystem.database.DBConnect;
import kaoqinsystem.util.*;
import java.sql.*;
import java.util.*;
public class Leave {
public String StuID, LeavePunish, LeaveContent,
HandleName, CancelReason, Remark;
public java.sql.Date StartDate, CancelDate;
public int LeaveNO;
public Leave() {
};
public String getStuID() {
return StuID;
}
public void setStuID(String s) {
this.StuID = s;
}
public String getLeavePunish() {
return LeavePunish;
}
public void setLeavePunish(String s) {
this.LeavePunish = s;
}
public String getLeaveContent() {
return LeaveContent;
}
public void setLeaveContent(String s) {
this.LeaveContent = s;
}
public String getHandleName() {
return HandleName;
}
public void setHandleName(String s) {
this.HandleName = s;
}
public String getCancelReason() {
return CancelReason;
}
public void setCancelReason(String s) {
this.CancelReason = s;
}
public String getRemark() {
return Remark;
}
public void setRemark(String s) {
this.Remark = s;
}
public void setLeaveNO(int i) {
this.LeaveNO = i;
}
public String getLeaveNO() {
return DataConvert.IntToStr(LeaveNO);
}
public String getStartDate() {
if (this.StartDate != null)
return DataConvert.sqlDateToStr(StartDate);
else
return "";
}
public void setStartDate(String str) {
if (str != null)
this.StartDate = DataConvert.StrTosqlDate(str);
else
this.StartDate = null;
}
public String getCancelDate() {
if (this.CancelDate != null)
return DataConvert.sqlDateToStr(CancelDate);
else
return "";
}
public void setCancelDate(String str) {
if (str != null)
this.CancelDate = DataConvert.StrTosqlDate(str);
else
this.CancelDate = null;
}
/*
* Find Leave by NO
*/
public static Leave FindByNO(String _LeaveNO) {
DBConnect dbc = null;
Leave Leave = new Leave();
try {
dbc = new DBConnect();
dbc.prepareStatement("SELECT * FROM `Leave` WHERE LeaveNO=?");
dbc.setString(1, _LeaveNO);
ResultSet rs = dbc.executeQuery();
if (rs.next()) {
Leave.setLeaveNO(rs.getInt("LeaveNO"));
Leave.setStuID(rs.getString("StuID"));
Leave.setLeavePunish(rs.getString("LeavePunish"));
Leave.setLeaveContent(rs.getString("LeaveContent"));
Leave.setHandleName(rs.getString("HandleName"));
Leave.setStartDate(rs.getString("StartDate"));
Leave.setCancelDate(rs.getString("CancelDate"));
Leave.setCancelReason(rs.getString("CancelReason"));
Leave.setRemark(rs.getString("Remark"));
} else {
Leave = null;
}
} catch (Exception e) {
System.err.println(e);
} finally {
try {
dbc.close();
} catch (Exception e) {
e.printStackTrace();
Leave = null;
}
}
return Leave;
}
/*
* Add Leave
*/
public static String Add(String _StuID,
String _LeavePunish, String _LeaveContent,
String _HandleName, String _StartDate,
String _CancelDate, String _CancelReason, String _Remark) {
DBConnect dbc = null;
try {
dbc = new DBConnect();
dbc
.prepareStatement("INSERT INTO `Leave` (`StuID`,`LeavePunish`,`LeaveContent`,`"
+ "HandleName`,`StartDate`,`CancelDate`,`CancelReason`,`Remark`) VALUES (?,?,?,?,?,?,?,?)");
//System.out.println( "INSERT INTO `Leave` (StuID,LeavePunish,LeaveContent,Grades,HandleName,StartDate,CancelDate,CancelReason,Remark) VALUES ("+_StuID+","+_LeavePunish+"," + _LeaveContent+","+_Grades+","+ _HandleName+","+ _StartDate+","+ _CancelDate+","+ _CancelReason+","+ _Remark+")");
dbc.setString(1, _StuID);
dbc.setString(2, _LeavePunish);
dbc.setString(3, _LeaveContent);
dbc.setString(4, _HandleName);
dbc.setDate(5, DataConvert.StrTosqlDate(_StartDate));
dbc.setDate(6, DataConvert.StrTosqlDate(_CancelDate));
dbc.setString(7, _CancelReason);
dbc.setString(8, _Remark);
dbc.executeUpdate();
dbc.close();
return "1";
} catch (Exception e) {
System.err.println(e);
return e.toString();
}
}
/*
* Modify Leave
*/
public static String Modify(String _LeaveNO,String _StuID,
String _LeavePunish, String _LeaveContent,
String _HandleName, String _StartDate,
String _CancelDate, String _CancelReason, String _Remark) {
DBConnect dbc = null;
try {
dbc = new DBConnect();
dbc
.prepareStatement("UPDATE `Leave` SET StuID=?,LeavePunish=?,LeaveContent=?,"
+ " HandleName=?,StartDate=?,CancelDate=?,CancelReason=?,Remark=? WHERE LeaveNO=?");
dbc.setString(1, _StuID);
dbc.setString(2, _LeavePunish);
dbc.setString(3, _LeaveContent);
dbc.setString(4, _HandleName);
dbc.setDate(5, DataConvert.StrTosqlDate(_StartDate));
dbc.setDate(6, DataConvert.StrTosqlDate(_CancelDate));
dbc.setString(7, _CancelReason);
dbc.setString(8, _Remark);
dbc.setInt(9, DataConvert.StrToInt(_LeaveNO));
dbc.executeUpdate();
dbc.close();
return "1";
} catch (Exception e) {
e.printStackTrace();
return e.toString();
}
}
/*
* Delete Leave
*/
public static String Delete(String _LeaveNO) {
try {
DBConnect dbc = new DBConnect();
dbc.prepareStatement("DELETE FROM `Leave` WHERE LeaveNO=?");
dbc.setInt(1, DataConvert.StrToInt(_LeaveNO));
dbc.executeUpdate();
dbc.close();
return "1";
} catch (Exception e) {
e.printStackTrace();
return e.toString();
}
}
/*
* search Leave by StuID
*/
public static Vector SearchByID(String _StuID) {
DBConnect dbc = null;
Vector LeaveVector = new Vector();
try {
dbc = new DBConnect();
dbc
.prepareStatement("SELECT * FROM `Leave` WHERE StuID=? ORDER BY StartDate ASC");
dbc.setString(1, _StuID);
ResultSet rs = dbc.executeQuery();
while (rs.next()) {
Leave Leave = new Leave();
Leave.setLeaveNO(rs.getInt("LeaveNO"));
Leave.setStuID(rs.getString("StuID"));
Leave.setLeavePunish(rs.getString("LeavePunish"));
Leave.setLeaveContent(rs.getString("LeaveContent"));
Leave.setHandleName(rs.getString("HandleName"));
Leave.setStartDate(rs.getString("StartDate"));
Leave.setCancelDate(rs.getString("CancelDate"));
Leave.setCancelReason(rs.getString("CancelReason"));
Leave.setRemark(rs.getString("Remark"));
LeaveVector.add(Leave);
}
} catch (Exception e) {
System.err.println(e);
} finally {
try {
dbc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return LeaveVector;
}
public static Vector SearchByIDdate(String _StuID,String _date) {
DBConnect dbc = null;
Vector LeaveVector = new Vector();
try {
dbc = new DBConnect();
dbc
.prepareStatement("SELECT * FROM `Leave` WHERE StuID=? and year(StartDate)=year(?) and month(startdate)=month(?)");
dbc.setString(1, _StuID);
dbc.setString(2, _date);
dbc.setString(3, _date);
ResultSet rs = dbc.executeQuery();
while (rs.next()) {
Leave Leave = new Leave();
Leave.setLeaveNO(rs.getInt("LeaveNO"));
Leave.setStuID(rs.getString("StuID"));
Leave.setLeavePunish(rs.getString("LeavePunish"));
Leave.setLeaveContent(rs.getString("LeaveContent"));
Leave.setHandleName(rs.getString("HandleName"));
Leave.setStartDate(rs.getString("StartDate"));
Leave.setCancelDate(rs.getString("CancelDate"));
Leave.setCancelReason(rs.getString("CancelReason"));
Leave.setRemark(rs.getString("Remark"));
LeaveVector.add(Leave);
}
} catch (Exception e) {
System.err.println(e);
} finally {
try {
dbc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return LeaveVector;
}
/*
* List All Leave
*/
public static Vector ListAll(String userName,int state) {
DBConnect dbc = null;
Vector LeaveVector = new Vector();
String strSQL = null;
if (0!=state) {
strSQL = "SELECT * FROM `Leave` WHERE StuID ='"+userName+"'";
}else{
strSQL = "SELECT * FROM `Leave` ORDER BY `StuID` ASC";
}
try {
dbc = new DBConnect();
dbc.prepareStatement(strSQL);
ResultSet rs = dbc.executeQuery();
while (rs.next()) {
Leave Leave = new Leave();
Leave.setLeaveNO(rs.getInt("LeaveNO"));
Leave.setStuID(rs.getString("StuID"));
Leave.setLeavePunish(rs.getString("LeavePunish"));
Leave.setLeaveContent(rs.getString("LeaveContent"));
Leave.setHandleName(rs.getString("HandleName"));
Leave.setStartDate(rs.getString("StartDate"));
Leave.setCancelDate(rs.getString("CancelDate"));
Leave.setCancelReason(rs.getString("CancelReason"));
Leave.setRemark(rs.getString("Remark"));
LeaveVector.add(Leave);
}
} catch (Exception e) {
System.err.println(e);
} finally {
try {
dbc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return LeaveVector;
}
/*
* List All Leave
*/
public static Vector countAll(String dateinfo1, String dateinfo2) {
DBConnect dbc = null;
Vector LeaveVector = new Vector();
String wheresql = "";
if (dateinfo1 != "" && dateinfo2 != "") {
wheresql = " and StartDate >'" + dateinfo1 + "' and StartDate <'" + dateinfo2 + "' ";
}
String strSQL = null;
strSQL = "SELECT StuID,sum(CancelReason) as dd FROM `Leave` where LeavePunish='审核通过' " + wheresql + " group by StuID";
System.err.println(strSQL);
try {
dbc = new DBConnect();
dbc.prepareStatement(strSQL);
ResultSet rs = dbc.executeQuery();
while (rs.next()) {
Leave Leave = new Leave();
Leave.setStuID(rs.getString("StuID"));
Leave.setCancelReason(rs.getString("dd"));
LeaveVector.add(Leave);
}
} catch (Exception e) {
System.err.println(e);
} finally {
try {
dbc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return LeaveVector;
}
}