diff --git a/src/com/lero/dao/DormBuildDao.java b/src/com/lero/dao/DormBuildDao.java new file mode 100644 index 0000000..5d353a7 --- /dev/null +++ b/src/com/lero/dao/DormBuildDao.java @@ -0,0 +1,167 @@ +package com.lero.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +import com.lero.model.DormBuild; +import com.lero.model.DormManager; +import com.lero.model.PageBean; +import com.lero.util.StringTool; + +public class DormBuildDao { + + public List dormBuildList(Connection con, PageBean pageBean, DormBuild s_dormBuild)throws Exception { + List dormBuildList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_dormBuild t1"); + if(StringTool.isNotEmpty(s_dormBuild.getDormBuildName())) { + sb.append(" where t1.dormBuildName like '%"+s_dormBuild.getDormBuildName()+"%'"); + } + if(pageBean != null) { + sb.append(" limit "+pageBean.getStart()+","+pageBean.getPageSize()); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString()); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormBuild dormBuild=new DormBuild(); + dormBuild.setDormBuildId(rs.getInt("dormBuildId")); + dormBuild.setDormBuildName(rs.getString("dormBuildName")); + dormBuild.setDetail(rs.getString("dormBuildDetail")); + dormBuildList.add(dormBuild); + } + return dormBuildList; + } + //宿舍 + public static String dormBuildName(Connection con, int dormBuildId)throws Exception { + String sql = "select * from t_dormBuild where dormBuildId=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setInt(1, dormBuildId); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + return rs.getString("dormBuildName"); + } + return null; + } + + public int dormBuildCount(Connection con, DormBuild s_dormBuild)throws Exception { + StringBuffer sb = new StringBuffer("select count(*) as total from t_dormBuild t1"); + if(StringTool.isNotEmpty(s_dormBuild.getDormBuildName())) { + sb.append(" where t1.dormBuildName like '%"+s_dormBuild.getDormBuildName()+"%'"); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString()); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + return rs.getInt("total"); + } else { + return 0; + } + } + + public DormBuild dormBuildShow(Connection con, String dormBuildId)throws Exception { + String sql = "select * from t_dormBuild t1 where t1.dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuildId); + ResultSet rs=pstmt.executeQuery(); + DormBuild dormBuild = new DormBuild(); + if(rs.next()) { + dormBuild.setDormBuildId(rs.getInt("dormBuildId")); + dormBuild.setDormBuildName(rs.getString("dormBuildName")); + dormBuild.setDetail(rs.getString("dormBuildDetail")); + } + return dormBuild; + } + //增加宿舍 + public int dormBuildAdd(Connection con, DormBuild dormBuild)throws Exception { + String sql = "insert into t_dormBuild values(null,?,?)"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuild.getDormBuildName()); + pstmt.setString(2, dormBuild.getDetail()); + return pstmt.executeUpdate(); + } + //删除 + public int dormBuildDelete(Connection con, String dormBuildId)throws Exception { + String sql = "delete from t_dormBuild where dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuildId); + return pstmt.executeUpdate(); + } + + public int dormBuildUpdate(Connection con, DormBuild dormBuild)throws Exception { + String sql = "update t_dormBuild set dormBuildName=?,dormBuildDetail=? where dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuild.getDormBuildName()); + pstmt.setString(2, dormBuild.getDetail()); + pstmt.setInt(3, dormBuild.getDormBuildId()); + return pstmt.executeUpdate(); + } + + public boolean existManOrDormWithId(Connection con, String dormBuildId)throws Exception { + boolean isExist = false; +// String sql="select * from t_dormBuild,t_dormManager,t_connection where dormManId=managerId and dormBuildId=buildId and dormBuildId=?"; + String sql = "select *from t_dormManager where dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuildId); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + isExist = true; + } else { + isExist = false; + } + String sql1="select * from t_dormBuild t1,t_dorm t2 where t1.dormBuildId=t2.dormBuildId and t1.dormBuildId=?"; + PreparedStatement p=con.prepareStatement(sql1); + p.setString(1, dormBuildId); + ResultSet r = pstmt.executeQuery(); + if(r.next()) { + return isExist; + } else { + return false; + } + } + + public List dormManWithoutBuild(Connection con)throws Exception { + List dormManagerList = new ArrayList(); + String sql = "SELECT * FROM t_dormManager WHERE dormBuildId IS NULL OR dormBuildId=0"; + PreparedStatement pstmt = con.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormManager dormManager=new DormManager(); + dormManager.setDormBuildId(rs.getInt("dormBuildId")); + dormManager.setDormManagerId(rs.getInt("dormManId")); + dormManager.setName(rs.getString("name")); + dormManager.setUserName(rs.getString("userName")); + dormManager.setSex(rs.getString("sex")); + dormManager.setTel(rs.getString("tel")); + dormManagerList.add(dormManager); + } + return dormManagerList; + } + + public List dormManWithBuildId(Connection con, String dormBuildId)throws Exception { + List dormManagerList = new ArrayList(); + String sql = "select *from t_dormManager where dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuildId); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormManager dormManager=new DormManager(); + dormManager.setDormBuildId(rs.getInt("dormBuildId")); + dormManager.setDormManagerId(rs.getInt("dormManId")); + dormManager.setName(rs.getString("name")); + dormManager.setUserName(rs.getString("userName")); + dormManager.setSex(rs.getString("sex")); + dormManager.setTel(rs.getString("tel")); + dormManagerList.add(dormManager); + } + return dormManagerList; + } + + public int managerUpdateWithId (Connection con, String dormManagerId, String dormBuildId)throws Exception { + String sql = "update t_dormManager set dormBuildId=? where dormManId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormBuildId); + pstmt.setString(2, dormManagerId); + return pstmt.executeUpdate(); + } +} diff --git a/src/com/lero/dao/DormManagerDao.java b/src/com/lero/dao/DormManagerDao.java new file mode 100644 index 0000000..c635264 --- /dev/null +++ b/src/com/lero/dao/DormManagerDao.java @@ -0,0 +1,141 @@ +package com.lero.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +import com.lero.model.DormManager; +import com.lero.model.PageBean; +import com.lero.util.JDBCUtil; +import com.lero.util.StringTool; + +public class DormManagerDao { + JDBCUtil util=new JDBCUtil(); + public List dormManagerList( PageBean pageBean, DormManager s_dormManager)throws Exception { + Connection conn=util.getConn(); + List para=new ArrayList(); + List dormManagerList = new ArrayList(); + StringBuffer sb = new StringBuffer("SELECT * FROM t_dormManager t1"); + if(StringTool.isNotEmpty(s_dormManager.getName())) { + System.out.println("name"+s_dormManager.getName()); + sb.append(" where t1.name like ?"); + para.add("%"+s_dormManager.getName()+"%"); + } else if(StringTool.isNotEmpty(s_dormManager.getUserName())) { + System.out.println("username"+s_dormManager.getUserName()); + sb.append(" where t1.userName like ?"); + para.add("%"+s_dormManager.getUserName()+"%"); + } + if(pageBean != null) { + sb.append(" limit ?,?"); + para.add(pageBean.getStart()); + para.add(pageBean.getPageSize()); + + } + System.out.println(sb.toString()); + PreparedStatement pst = conn.prepareStatement(sb.toString()); + for (int i = 0; i < para.size(); i++) { + System.out.println(para.get(i)); + pst.setObject(i+1,para.get(i)); + + } + ResultSet rs = pst.executeQuery(); + while(rs.next()) { + DormManager dormManager=new DormManager(); + dormManager.setDormManagerId(rs.getInt("dormManId")); + int dormBuildId = rs.getInt("dormBuildId"); + dormManager.setDormBuildId(dormBuildId); + dormManager.setDormBuildName(DormBuildDao.dormBuildName(conn, dormBuildId)); + dormManager.setName(rs.getString("name")); + dormManager.setSex(rs.getString("sex")); + dormManager.setUserName(rs.getString("userName")); + dormManager.setTel(rs.getString("tel")); + dormManager.setPassword(rs.getString("password")); + dormManagerList.add(dormManager); + } + + util.closeAll(rs,pst,conn); + + return dormManagerList; + } + + public int dormManagerCount( DormManager s_dormManager)throws Exception { + int count=0; + Connection conn=util.getConn(); + StringBuffer sb = new StringBuffer("select count(*) as total from t_dormManager t1"); + if(StringTool.isNotEmpty(s_dormManager.getName())) { + sb.append(" where t1.name like '%"+s_dormManager.getName()+"%'"); + } else if(StringTool.isNotEmpty(s_dormManager.getUserName())) { + sb.append(" where t1.userName like '%"+s_dormManager.getUserName()+"%'"); + } + PreparedStatement pst = conn.prepareStatement(sb.toString()); + ResultSet rs = pst.executeQuery(); + if(rs.next()) { + count= rs.getInt("total"); + } + util.closeAll(rs,pst,conn); + return count; + } + + public DormManager dormManagerShow(Connection con, String dormManagerId)throws Exception { + String sql = "select * from t_dormManager t1 where t1.dormManId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormManagerId); + ResultSet rs=pstmt.executeQuery(); + DormManager dormManager = new DormManager(); + if(rs.next()) { + dormManager.setDormManagerId(rs.getInt("dormManId")); + dormManager.setDormBuildId(rs.getInt("dormBuildId")); + dormManager.setName(rs.getString("name")); + dormManager.setSex(rs.getString("sex")); + dormManager.setUserName(rs.getString("userName")); + dormManager.setTel(rs.getString("tel")); + dormManager.setPassword(rs.getString("password")); + } + return dormManager; + } + + public int dormManagerAdd(Connection con, DormManager dormManager)throws Exception { + String sql = "insert into t_dormManager values(null,?,?,null,?,?,?)"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormManager.getUserName()); + pstmt.setString(2, dormManager.getPassword()); + pstmt.setString(3, dormManager.getName()); + pstmt.setString(4, dormManager.getSex()); + pstmt.setString(5, dormManager.getTel()); + return pstmt.executeUpdate(); + } + + public int dormManagerDelete(Connection con, String dormManagerId)throws Exception { + String sql = "delete from t_dormManager where dormManId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormManagerId); + return pstmt.executeUpdate(); + } + + public int dormManagerUpdate(Connection con, DormManager dormManager)throws Exception { + String sql = "update t_dormManager set userName=?,password=?,name=?,sex=?,tel=? where dormManId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, dormManager.getUserName()); + pstmt.setString(2, dormManager.getPassword()); + pstmt.setString(3, dormManager.getName()); + pstmt.setString(4, dormManager.getSex()); + pstmt.setString(5, dormManager.getTel()); + pstmt.setInt(6, dormManager.getDormManagerId()); + return pstmt.executeUpdate(); + } + + public boolean haveManagerByUser(Connection con, String userName) throws Exception { + String sql = "select * from t_dormmanager t1 where t1.userName=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, userName); + ResultSet rs=pstmt.executeQuery(); + if(rs.next()) { + return true; + } + return false; + } + + +} diff --git a/src/com/lero/dao/RecordDao.java b/src/com/lero/dao/RecordDao.java new file mode 100644 index 0000000..0245544 --- /dev/null +++ b/src/com/lero/dao/RecordDao.java @@ -0,0 +1,203 @@ +package com.lero.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +import com.lero.model.DormBuild; +import com.lero.model.Record; +import com.lero.util.StringTool; + +public class RecordDao { + public List recordList(Connection con, Record s_record)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_record t1"); + if(StringTool.isNotEmpty(s_record.getStudentNumber())) { + sb.append(" and t1.studentNumber like '%"+s_record.getStudentNumber()+"%'"); + } else if(StringTool.isNotEmpty(s_record.getStudentName())) { + sb.append(" and t1.studentName like '%"+s_record.getStudentName()+"%'"); + } + if(s_record.getDormBuildId()!=0) { + sb.append(" and t1.dormBuildId="+s_record.getDormBuildId()); + } + if(StringTool.isNotEmpty(s_record.getDate())) { + sb.append(" and t1.date="+s_record.getDate()); + } + if(StringTool.isNotEmpty(s_record.getStartDate())){ + sb.append(" and TO_DAYS(t1.date)>=TO_DAYS('"+s_record.getStartDate()+"')"); + } + if(StringTool.isNotEmpty(s_record.getEndDate())){ + sb.append(" and TO_DAYS(t1.date)<=TO_DAYS('"+s_record.getEndDate()+"')"); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + Record record=new Record(); + record.setRecordId(rs.getInt("recordId")); + record.setStudentNumber(rs.getString("studentNumber")); + record.setStudentName(rs.getString("studentName")); + int dormBuildId = rs.getInt("dormBuildId"); + record.setDormBuildId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDormName(rs.getString("dormName")); + record.setDate(rs.getString("date")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List recordListWithBuild(Connection con, Record s_record, int buildId)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_record t1"); + if(StringTool.isNotEmpty(s_record.getStudentNumber())) { + sb.append(" and t1.studentNumber like '%"+s_record.getStudentNumber()+"%'"); + } else if(StringTool.isNotEmpty(s_record.getStudentName())) { + sb.append(" and t1.studentName like '%"+s_record.getStudentName()+"%'"); + } + sb.append(" and t1.dormBuildId="+buildId); + if(StringTool.isNotEmpty(s_record.getStartDate())){ + sb.append(" and TO_DAYS(t1.date)>=TO_DAYS('"+s_record.getStartDate()+"')"); + } + if(StringTool.isNotEmpty(s_record.getEndDate())){ + sb.append(" and TO_DAYS(t1.date)<=TO_DAYS('"+s_record.getEndDate()+"')"); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + Record record=new Record(); + record.setRecordId(rs.getInt("recordId")); + record.setStudentNumber(rs.getString("studentNumber")); + record.setStudentName(rs.getString("studentName")); + int dormBuildId = rs.getInt("dormBuildId"); + record.setDormBuildId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDormName(rs.getString("dormName")); + record.setDate(rs.getString("date")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List recordListWithNumber(Connection con, Record s_record, String studentNumber)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_record t1"); + if(StringTool.isNotEmpty(studentNumber)) { + sb.append(" and t1.studentNumber ="+studentNumber); + } + if(StringTool.isNotEmpty(s_record.getStartDate())){ + sb.append(" and TO_DAYS(t1.date)>=TO_DAYS('"+s_record.getStartDate()+"')"); + } + if(StringTool.isNotEmpty(s_record.getEndDate())){ + sb.append(" and TO_DAYS(t1.date)<=TO_DAYS('"+s_record.getEndDate()+"')"); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + Record record=new Record(); + record.setRecordId(rs.getInt("recordId")); + record.setStudentNumber(rs.getString("studentNumber")); + record.setStudentName(rs.getString("studentName")); + int dormBuildId = rs.getInt("dormBuildId"); + record.setDormBuildId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDormName(rs.getString("dormName")); + record.setDate(rs.getString("date")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List dormBuildList(Connection con)throws Exception { + List dormBuildList = new ArrayList(); + String sql = "select * from t_dormBuild"; + PreparedStatement pstmt = con.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormBuild dormBuild=new DormBuild(); + dormBuild.setDormBuildId(rs.getInt("dormBuildId")); + dormBuild.setDormBuildName(rs.getString("dormBuildName")); + dormBuild.setDetail(rs.getString("dormBuildDetail")); + dormBuildList.add(dormBuild); + } + return dormBuildList; + } +// +// public int studentCount(Connection con, Student s_student)throws Exception { +// StringBuffer sb = new StringBuffer("select count(*) as total from t_student t1"); +// if(StringUtil.isNotEmpty(s_student.getName())) { +// sb.append(" and t1.name like '%"+s_student.getName()+"%'"); +// } else if(StringUtil.isNotEmpty(s_student.getStuNumber())) { +// sb.append(" and t1.stuNum like '%"+s_student.getStuNumber()+"%'"); +// } else if(StringUtil.isNotEmpty(s_student.getDormName())) { +// sb.append(" and t1.dormName like '%"+s_student.getDormName()+"%'"); +// } +// if(s_student.getDormBuildId()!=0) { +// sb.append(" and t1.dormBuildId="+s_student.getDormBuildId()); +// } +// PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); +// ResultSet rs = pstmt.executeQuery(); +// if(rs.next()) { +// return rs.getInt("total"); +// } else { +// return 0; +// } +// } + + public Record recordShow(Connection con, String recordId)throws Exception { + String sql = "select * from t_record t1 where t1.recordId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, recordId); + ResultSet rs=pstmt.executeQuery(); + Record record = new Record(); + if(rs.next()) { + record.setRecordId(rs.getInt("recordId")); + record.setStudentNumber(rs.getString("studentNumber")); + record.setStudentName(rs.getString("studentName")); + int dormBuildId = rs.getInt("dormBuildId"); + record.setDormBuildId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDormName(rs.getString("dormName")); + record.setDate(rs.getString("date")); + record.setDetail(rs.getString("detail")); + } + return record; + } + + public int recordAdd(Connection con, Record record)throws Exception { + String sql = "insert into t_record values(null,?,?,?,?,?,?)"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, record.getStudentNumber()); + pstmt.setString(2, record.getStudentName()); + pstmt.setInt(3, record.getDormBuildId()); + pstmt.setString(4, record.getDormName()); + pstmt.setString(5, record.getDate()); + pstmt.setString(6, record.getDetail()); + return pstmt.executeUpdate(); + } + + public int recordDelete(Connection con, String recordId)throws Exception { + String sql = "delete from t_record where recordId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, recordId); + return pstmt.executeUpdate(); + } + + public int recordUpdate(Connection con, Record record)throws Exception { + String sql = "update t_record set studentNumber=?,studentName=?,dormBuildId=?,dormName=?,detail=? where recordId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, record.getStudentNumber()); + pstmt.setString(2, record.getStudentName()); + pstmt.setInt(3, record.getDormBuildId()); + pstmt.setString(4, record.getDormName()); + pstmt.setString(5, record.getDetail()); + pstmt.setInt(6, record.getRecordId()); + return pstmt.executeUpdate(); + } + + +} diff --git a/src/com/lero/dao/RecordIODao.java b/src/com/lero/dao/RecordIODao.java new file mode 100644 index 0000000..801be27 --- /dev/null +++ b/src/com/lero/dao/RecordIODao.java @@ -0,0 +1,163 @@ +package com.lero.dao; + +import com.lero.model.DormBuild; +import com.lero.model.Record; +import com.lero.model.RecordIO; +import com.lero.util.StringTool; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class RecordIODao { + public List recordList(Connection con, RecordIO s_record)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_recordio t1"); + if(StringTool.isNotEmpty(s_record.getStuno())) { + sb.append(" and t1.stuno like '%"+s_record.getStuno()+"%'"); + } else if(StringTool.isNotEmpty(s_record.getStuName())) { + sb.append(" and t1.stuName like '%"+s_record.getStuName()+"%'"); + } + if(s_record.getDormId()!=0) { + sb.append(" and t1.dormId="+s_record.getDormId()); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + RecordIO record=new RecordIO(); + record.setRid(rs.getInt("rid")); + record.setStuno(rs.getString("stuno")); + record.setStuName(rs.getString("stuName")); + int dormBuildId = rs.getInt("dormId"); + record.setDormId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDorm(rs.getString("dorm")); + record.setIOTime(rs.getString("IOTime")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List recordListWithBuild(Connection con, RecordIO s_record, int buildId)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_recordio t1"); + if(StringTool.isNotEmpty(s_record.getStuno())) { + sb.append(" and t1.stuno like '%"+s_record.getStuno()+"%'"); + } else if(StringTool.isNotEmpty(s_record.getStuName())) { + sb.append(" and t1.stuName like '%"+s_record.getStuName()+"%'"); + } + sb.append(" and t1.dormId="+buildId); + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + RecordIO record=new RecordIO(); + record.setRid(rs.getInt("rid")); + record.setStuno(rs.getString("stuno")); + record.setStuName(rs.getString("stuName")); + int dormBuildId = rs.getInt("dormId"); + record.setDormId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDorm(rs.getString("dorm")); + record.setIOTime(rs.getString("IOTime")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List recordListWithNumber(Connection con, RecordIO s_record, String studentNumber)throws Exception { + List recordList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_recordio t1"); + if(StringTool.isNotEmpty(studentNumber)) { + sb.append(" and t1.stuno ="+studentNumber); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + RecordIO record=new RecordIO(); + record.setRid(rs.getInt("rid")); + record.setStuno(rs.getString("stuno")); + record.setStuName(rs.getString("stuName")); + int dormBuildId = rs.getInt("dormId"); + record.setDormId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDorm(rs.getString("dorm")); + record.setIOTime(rs.getString("IOTime")); + record.setDetail(rs.getString("detail")); + recordList.add(record); + } + return recordList; + } + + public List dormBuildList(Connection con)throws Exception { + List dormBuildList = new ArrayList(); + String sql = "select * from t_dormBuild"; + PreparedStatement pstmt = con.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormBuild dormBuild=new DormBuild(); + dormBuild.setDormBuildId(rs.getInt("dormBuildId")); + dormBuild.setDormBuildName(rs.getString("dormBuildName")); + dormBuild.setDetail(rs.getString("dormBuildDetail")); + dormBuildList.add(dormBuild); + } + return dormBuildList; + } + + public RecordIO recordShow(Connection con, String recordId)throws Exception { + String sql = "select * from t_recordio t1 where t1.rid=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, recordId); + ResultSet rs=pstmt.executeQuery(); + RecordIO record=new RecordIO(); + if(rs.next()) { + record.setRid(rs.getInt("rid")); + record.setStuno(rs.getString("stuno")); + record.setStuName(rs.getString("stuName")); + int dormBuildId = rs.getInt("dormId"); + record.setDormId(dormBuildId); + record.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + record.setDorm(rs.getString("dorm")); + record.setIOTime(rs.getString("IOTime")); + record.setDetail(rs.getString("detail")); + } + return record; + } + + public int recordAdd(Connection con, RecordIO record)throws Exception { + String sql = "insert into t_recordio values(null,?,?,?,?,?,?)"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, record.getStuno()); + pstmt.setString(2, record.getStuName()); + pstmt.setInt(3, record.getDormId()); + pstmt.setString(4, record.getDorm()); + pstmt.setString(5, record.getIOTime()); + pstmt.setString(6, record.getDetail()); + return pstmt.executeUpdate(); + } + + public int recordDelete(Connection con, String recordId)throws Exception { + String sql = "delete from t_recordio where rid=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, recordId); + return pstmt.executeUpdate(); + } + + public int recordUpdate(Connection con, RecordIO record)throws Exception { + String sql = "update t_recordio set stuno=?,stuName=?,dormId=?,dorm=?,detail=? where recordId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, record.getStuno()); + pstmt.setString(2, record.getStuName()); + pstmt.setInt(3, record.getDormId()); + pstmt.setString(4, record.getDorm()); + pstmt.setString(5, record.getDetail()); + pstmt.setInt(6, record.getRid()); + return pstmt.executeUpdate(); + } + + +} diff --git a/src/com/lero/dao/StudentDao.java b/src/com/lero/dao/StudentDao.java new file mode 100644 index 0000000..9e757de --- /dev/null +++ b/src/com/lero/dao/StudentDao.java @@ -0,0 +1,234 @@ +package com.lero.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +import com.lero.model.DormBuild; +import com.lero.model.Student; +import com.lero.util.StringTool; + +public class StudentDao { + +// public List studentList(Connection con, PageBean pageBean, Student s_student)throws Exception { +// List studentList = new ArrayList(); +// StringBuffer sb = new StringBuffer("select * from t_student t1"); +// if(StringUtil.isNotEmpty(s_student.getName())) { +// sb.append(" and t1.name like '%"+s_student.getName()+"%'"); +// } else if(StringUtil.isNotEmpty(s_student.getStuNumber())) { +// sb.append(" and t1.stuNum like '%"+s_student.getStuNumber()+"%'"); +// } else if(StringUtil.isNotEmpty(s_student.getDormName())) { +// sb.append(" and t1.dormName like '%"+s_student.getDormName()+"%'"); +// } +// if(s_student.getDormBuildId()!=0) { +// sb.append(" and t1.dormBuildId="+s_student.getDormBuildId()); +// } +// if(pageBean != null) { +// sb.append(" limit "+pageBean.getStart()+","+pageBean.getPageSize()); +// } +// PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); +// ResultSet rs = pstmt.executeQuery(); +// while(rs.next()) { +// Student student=new Student(); +// student.setStudentId(rs.getInt("studentId")); +// int dormBuildId = rs.getInt("dormBuildId"); +// student.setDormBuildId(dormBuildId); +// student.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); +// student.setDormName(rs.getString("dormName")); +// student.setName(rs.getString("name")); +// student.setSex(rs.getString("sex")); +// student.setStuNumber(rs.getString("stuNum")); +// student.setTel(rs.getString("tel")); +// student.setPassword(rs.getString("password")); +// studentList.add(student); +// } +// return studentList; +// } + + public List studentList(Connection con, Student s_student)throws Exception { + List studentList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_student t1"); + if(StringTool.isNotEmpty(s_student.getName())) { + sb.append(" and t1.name like '%"+s_student.getName()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getStuNumber())) { + sb.append(" and t1.stuNum like '%"+s_student.getStuNumber()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getDormName())) { + sb.append(" and t1.dormName like '%"+s_student.getDormName()+"%'"); + } + if(s_student.getDormBuildId()!=0) { + sb.append(" and t1.dormBuildId="+s_student.getDormBuildId()); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + Student student=new Student(); + student.setStudentId(rs.getInt("studentId")); + int dormBuildId = rs.getInt("dormBuildId"); + student.setDormBuildId(dormBuildId); + student.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + student.setDormName(rs.getString("dormName")); + student.setName(rs.getString("name")); + student.setSex(rs.getString("sex")); + student.setStuNumber(rs.getString("stuNum")); + student.setTel(rs.getString("tel")); + student.setPassword(rs.getString("password")); + studentList.add(student); + } + return studentList; + } + + public static Student getNameById(Connection con, String studentNumber, int dormBuildId)throws Exception { + String sql = "select * from t_student t1 where t1.stuNum=? and t1.dormBuildId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, studentNumber); + pstmt.setInt(2, dormBuildId); + ResultSet rs=pstmt.executeQuery(); + Student student = new Student(); + if(rs.next()) { + student.setName(rs.getString("name")); + student.setDormBuildId(rs.getInt("dormBuildId")); + student.setDormName(rs.getString("dormName")); + } + return student; + } + + public boolean haveNameByNumber(Connection con, String studentNumber)throws Exception { + String sql = "select * from t_student t1 where t1.stuNum=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, studentNumber); + ResultSet rs=pstmt.executeQuery(); + Student student = new Student(); + if(rs.next()) { + student.setName(rs.getString("name")); + student.setDormBuildId(rs.getInt("dormBuildId")); + student.setDormName(rs.getString("dormName")); + return true; + } + return false; + } + + public List studentListWithBuild(Connection con, Student s_student, int buildId)throws Exception { + List studentList = new ArrayList(); + StringBuffer sb = new StringBuffer("select * from t_student t1"); + if(StringTool.isNotEmpty(s_student.getName())) { + sb.append(" and t1.name like '%"+s_student.getName()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getStuNumber())) { + sb.append(" and t1.stuNum like '%"+s_student.getStuNumber()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getDormName())) { + sb.append(" and t1.dormName like '%"+s_student.getDormName()+"%'"); + } + sb.append(" and t1.dormBuildId="+buildId); + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + Student student=new Student(); + student.setStudentId(rs.getInt("studentId")); + int dormBuildId = rs.getInt("dormBuildId"); + student.setDormBuildId(dormBuildId); + student.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + student.setDormName(rs.getString("dormName")); + student.setName(rs.getString("name")); + student.setSex(rs.getString("sex")); + student.setStuNumber(rs.getString("stuNum")); + student.setTel(rs.getString("tel")); + student.setPassword(rs.getString("password")); + studentList.add(student); + } + return studentList; + } + + public List dormBuildList(Connection con)throws Exception { + List dormBuildList = new ArrayList(); + String sql = "select * from t_dormBuild"; + PreparedStatement pstmt = con.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + while(rs.next()) { + DormBuild dormBuild=new DormBuild(); + dormBuild.setDormBuildId(rs.getInt("dormBuildId")); + dormBuild.setDormBuildName(rs.getString("dormBuildName")); + dormBuild.setDetail(rs.getString("dormBuildDetail")); + dormBuildList.add(dormBuild); + } + return dormBuildList; + } + + public int studentCount(Connection con, Student s_student)throws Exception { + StringBuffer sb = new StringBuffer("select count(*) as total from t_student t1"); + if(StringTool.isNotEmpty(s_student.getName())) { + sb.append(" and t1.name like '%"+s_student.getName()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getStuNumber())) { + sb.append(" and t1.stuNum like '%"+s_student.getStuNumber()+"%'"); + } else if(StringTool.isNotEmpty(s_student.getDormName())) { + sb.append(" and t1.dormName like '%"+s_student.getDormName()+"%'"); + } + if(s_student.getDormBuildId()!=0) { + sb.append(" and t1.dormBuildId="+s_student.getDormBuildId()); + } + PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where")); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + return rs.getInt("total"); + } else { + return 0; + } + } + + public Student studentShow(Connection con, String studentId)throws Exception { + String sql = "select * from t_student t1 where t1.studentId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, studentId); + ResultSet rs=pstmt.executeQuery(); + Student student = new Student(); + if(rs.next()) { + student.setStudentId(rs.getInt("studentId")); + int dormBuildId = rs.getInt("dormBuildId"); + student.setDormBuildId(dormBuildId); + student.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + student.setDormName(rs.getString("dormName")); + student.setName(rs.getString("name")); + student.setSex(rs.getString("sex")); + student.setStuNumber(rs.getString("stuNum")); + student.setTel(rs.getString("tel")); + student.setPassword(rs.getString("password")); + } + return student; + } + + public int studentAdd(Connection con, Student student)throws Exception { + String sql = "insert into t_student values(null,?,?,?,?,?,?,?)"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, student.getStuNumber()); + pstmt.setString(2, student.getPassword()); + pstmt.setString(3, student.getName()); + pstmt.setInt(4, student.getDormBuildId()); + pstmt.setString(5, student.getDormName()); + pstmt.setString(6, student.getSex()); + pstmt.setString(7, student.getTel()); + return pstmt.executeUpdate(); + } + + public int studentDelete(Connection con, String studentId)throws Exception { + String sql = "delete from t_student where studentId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, studentId); + return pstmt.executeUpdate(); + } + + public int studentUpdate(Connection con, Student student)throws Exception { + String sql = "update t_student set stuNum=?,password=?,name=?,dormBuildId=?,dormName=?,sex=?,tel=? where studentId=?"; + PreparedStatement pstmt=con.prepareStatement(sql); + pstmt.setString(1, student.getStuNumber()); + pstmt.setString(2, student.getPassword()); + pstmt.setString(3, student.getName()); + pstmt.setInt(4, student.getDormBuildId()); + pstmt.setString(5, student.getDormName()); + pstmt.setString(6, student.getSex()); + pstmt.setString(7, student.getTel()); + pstmt.setInt(8, student.getStudentId()); + return pstmt.executeUpdate(); + } + + +} diff --git a/src/com/lero/dao/UserDao.java b/src/com/lero/dao/UserDao.java new file mode 100644 index 0000000..45850a2 --- /dev/null +++ b/src/com/lero/dao/UserDao.java @@ -0,0 +1,99 @@ +package com.lero.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; + +import com.lero.model.Admin; +import com.lero.model.DormManager; +import com.lero.model.Student; + +public class UserDao { + + public Admin Login(Connection con, Admin admin)throws Exception { + Admin resultAdmin = null; + String sql = "select * from t_admin where userName=? and password=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, admin.getUserName()); + pstmt.setString(2, admin.getPassword()); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + resultAdmin = new Admin(); + resultAdmin.setAdminId(rs.getInt("adminId")); + resultAdmin.setUserName(rs.getString("userName")); + resultAdmin.setPassword(rs.getString("password")); + resultAdmin.setName(rs.getString("name")); + resultAdmin.setSex(rs.getString("sex")); + resultAdmin.setTel(rs.getString("tel")); + } + return resultAdmin; + } + + public DormManager Login(Connection con, DormManager dormManager)throws Exception { + DormManager resultDormManager = null; + String sql = "select * from t_dormmanager where userName=? and password=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, dormManager.getUserName()); + pstmt.setString(2, dormManager.getPassword()); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + resultDormManager = new DormManager(); + resultDormManager.setDormManagerId(rs.getInt("dormManId")); + resultDormManager.setUserName(rs.getString("userName")); + resultDormManager.setPassword(rs.getString("password")); + resultDormManager.setDormBuildId(rs.getInt("dormBuildId")); + resultDormManager.setName(rs.getString("name")); + resultDormManager.setSex(rs.getString("sex")); + resultDormManager.setTel(rs.getString("tel")); + } + return resultDormManager; + } + + public Student Login(Connection con, Student student)throws Exception { + Student resultStudent = null; + String sql = "select * from t_student where stuNum=? and password=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, student.getStuNumber()); + pstmt.setString(2, student.getPassword()); + ResultSet rs = pstmt.executeQuery(); + if(rs.next()) { + resultStudent = new Student(); + resultStudent.setStudentId(rs.getInt("studentId")); + resultStudent.setStuNumber(rs.getString("stuNum")); + resultStudent.setPassword(rs.getString("password")); + int dormBuildId = rs.getInt("dormBuildId"); + resultStudent.setDormBuildId(dormBuildId); + resultStudent.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId)); + resultStudent.setDormName(rs.getString("dormName")); + resultStudent.setName(rs.getString("name")); + resultStudent.setSex(rs.getString("sex")); + resultStudent.setTel(rs.getString("tel")); + } + return resultStudent; + } + + public int adminUpdate(Connection con, int adminId, String password)throws Exception { + String sql = "update t_admin set password=? where adminId=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, password); + pstmt.setInt(2, adminId); + return pstmt.executeUpdate(); + } + + public int managerUpdate(Connection con, int managerId, String password)throws Exception { + String sql = "update t_dormmanager set password=? where dormManId=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, password); + pstmt.setInt(2, managerId); + return pstmt.executeUpdate(); + } + + public int studentUpdate(Connection con, int studentId, String password)throws Exception { + String sql = "update t_student set password=? where studentId=?"; + PreparedStatement pstmt = con.prepareStatement(sql); + pstmt.setString(1, password); + pstmt.setInt(2, studentId); + return pstmt.executeUpdate(); + } + +} diff --git a/src/com/lero/filter/LoginFilter.java b/src/com/lero/filter/LoginFilter.java new file mode 100644 index 0000000..079a36d --- /dev/null +++ b/src/com/lero/filter/LoginFilter.java @@ -0,0 +1,39 @@ +package com.lero.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +public class LoginFilter implements Filter{ + + public void destroy() { + + } + + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, + FilterChain filterChain) throws IOException, ServletException { + HttpServletRequest request = (HttpServletRequest)servletRequest; + HttpServletResponse response = (HttpServletResponse)servletResponse; + HttpSession session = request.getSession(); + Object object = session.getAttribute("currentUser"); + String path = request.getServletPath(); + if(object == null&&path.indexOf("login")<0&&path.indexOf("bootstrap")<0&&path.indexOf("images")<0) { + response.sendRedirect("login.jsp"); + }else { + filterChain.doFilter(servletRequest, servletResponse); + } + } + + public void init(FilterConfig arg0) throws ServletException { + + } + +} diff --git a/src/com/lero/model/Admin.java b/src/com/lero/model/Admin.java new file mode 100644 index 0000000..8d51a22 --- /dev/null +++ b/src/com/lero/model/Admin.java @@ -0,0 +1,61 @@ +package com.lero.model; + +public class Admin { + + private int adminId; + private String userName; + private String password; + private String name; + private String sex; + private String tel; + + public Admin() { + + } + + + public Admin(String userName, String password) { + this.userName = userName; + this.password = password; + } + + + public int getAdminId() { + return adminId; + } + public void setAdminId(int adminId) { + this.adminId = adminId; + } + public String getUserName() { + return userName; + } + public void setUserName(String userName) { + this.userName = userName; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getSex() { + return sex; + } + public void setSex(String sex) { + this.sex = sex; + } + public String getTel() { + return tel; + } + public void setTel(String tel) { + this.tel = tel; + } + + +} diff --git a/src/com/lero/model/Ceshi.java b/src/com/lero/model/Ceshi.java new file mode 100644 index 0000000..48850b7 --- /dev/null +++ b/src/com/lero/model/Ceshi.java @@ -0,0 +1,69 @@ +package com.lero.model; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class Ceshi { + + @Test + void testObject() { + fail("Not yet implemented"); + } + + @Test + void testGetClass() { + fail("Not yet implemented"); + } + + @Test + void testHashCode() { + fail("Not yet implemented"); + } + + @Test + void testEquals() { + fail("Not yet implemented"); + } + + @Test + void testClone() { + fail("Not yet implemented"); + } + + @Test + void testToString() { + fail("Not yet implemented"); + } + + @Test + void testNotify() { + fail("Not yet implemented"); + } + + @Test + void testNotifyAll() { + fail("Not yet implemented"); + } + + @Test + void testWaitLong() { + fail("Not yet implemented"); + } + + @Test + void testWaitLongInt() { + fail("Not yet implemented"); + } + + @Test + void testWait() { + fail("Not yet implemented"); + } + + @Test + void testFinalize() { + fail("Not yet implemented"); + } + +} diff --git a/src/com/lero/model/DormBuild.java b/src/com/lero/model/DormBuild.java new file mode 100644 index 0000000..15b56d1 --- /dev/null +++ b/src/com/lero/model/DormBuild.java @@ -0,0 +1,38 @@ +package com.lero.model; + +public class DormBuild { + private int dormBuildId; + private String dormBuildName; + private String detail; + + + public DormBuild() { + } + + public DormBuild(String dormBuildName, String detail) { + this.dormBuildName = dormBuildName; + this.detail = detail; + } + + + public int getDormBuildId() { + return dormBuildId; + } + public void setDormBuildId(int dormBuildId) { + this.dormBuildId = dormBuildId; + } + public String getDormBuildName() { + return dormBuildName; + } + public void setDormBuildName(String dormBuildName) { + this.dormBuildName = dormBuildName; + } + public String getDetail() { + return detail; + } + public void setDetail(String detail) { + this.detail = detail; + } + + +} diff --git a/src/com/lero/model/DormManager.java b/src/com/lero/model/DormManager.java new file mode 100644 index 0000000..504d47d --- /dev/null +++ b/src/com/lero/model/DormManager.java @@ -0,0 +1,103 @@ +package com.lero.model; + +public class DormManager { + + private int dormManagerId; + private String userName; + private String password; + private int dormBuildId; + private String dormBuildName; + private String name; + private String sex; + private String tel; + + public DormManager() { + + } + + public DormManager(String userName, String password, + String name, String sex, String tel) { + this.userName = userName; + this.password = password; + this.name = name; + this.sex = sex; + this.tel = tel; + } + + + + public DormManager(String userName, String password) { + this.userName = userName; + this.password = password; + } + + + public int getDormManagerId() { + return dormManagerId; + } + public void setDormManagerId(int dormManagerId) { + this.dormManagerId = dormManagerId; + } + public String getUserName() { + return userName; + } + public void setUserName(String userName) { + this.userName = userName; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + + public int getDormBuildId() { + return dormBuildId; + } + public void setDormBuildId(int dormBuildId) { + this.dormBuildId = dormBuildId; + } + + public String getDormBuildName() { + return dormBuildName; + } + + + public void setDormBuildName(String dormBuildName) { + this.dormBuildName = dormBuildName; + } + + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getSex() { + return sex; + } + public void setSex(String sex) { + this.sex = sex; + } + public String getTel() { + return tel; + } + public void setTel(String tel) { + this.tel = tel; + } + + @Override + public String toString() { + return "DormManager{" + + "dormManagerId=" + dormManagerId + + ", userName='" + userName + '\'' + + ", password='" + password + '\'' + + ", dormBuildId=" + dormBuildId + + ", dormBuildName='" + dormBuildName + '\'' + + ", name='" + name + '\'' + + ", sex='" + sex + '\'' + + ", tel='" + tel + '\'' + + '}'; + } +} diff --git a/src/com/lero/model/PageBean.java b/src/com/lero/model/PageBean.java new file mode 100644 index 0000000..350ba87 --- /dev/null +++ b/src/com/lero/model/PageBean.java @@ -0,0 +1,37 @@ +package com.lero.model; + +public class PageBean { + + private int page; // 第几页 + private int pageSize; // 每页记录数 + @SuppressWarnings("unused") + private int start; // 起始页 + + + public PageBean(int page, int pageSize) { + super(); + this.page = page; + this.pageSize = pageSize; + } + + public int getPage() { + return page; + } + public void setPage(int page) { + this.page = page; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getStart() { + return (page-1)*pageSize; + } + + +} diff --git a/src/com/lero/model/Record.java b/src/com/lero/model/Record.java new file mode 100644 index 0000000..fe9832c --- /dev/null +++ b/src/com/lero/model/Record.java @@ -0,0 +1,96 @@ +package com.lero.model; + + +public class Record { + + private int recordId; + private String studentNumber; + private String studentName; + private String date; + private String detail; + private int dormBuildId; + private String dormBuildName; + private String dormName; + private String startDate; + private String endDate; + + public Record() { + } + + public Record(String studentNumber, String date, String detail) { + this.studentNumber = studentNumber; + this.date = date; + this.detail = detail; + } + + public int getRecordId() { + return recordId; + } + public void setRecordId(int recordId) { + this.recordId = recordId; + } + public String getStudentNumber() { + return studentNumber; + } + public void setStudentNumber(String studentNumber) { + this.studentNumber = studentNumber; + } + public String getStudentName() { + return studentName; + } + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public String getDate() { + return date; + } + public void setDate(String date) { + this.date = date; + } + public String getDetail() { + return detail; + } + public void setDetail(String detail) { + this.detail = detail; + } + public String getDormBuildName() { + return dormBuildName; + } + public void setDormBuildName(String dormBuildName) { + this.dormBuildName = dormBuildName; + } + public String getDormName() { + return dormName; + } + public void setDormName(String dormName) { + this.dormName = dormName; + } + + public int getDormBuildId() { + return dormBuildId; + } + + public void setDormBuildId(int dormBuildId) { + this.dormBuildId = dormBuildId; + } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + + +} diff --git a/src/com/lero/model/RecordIO.java b/src/com/lero/model/RecordIO.java new file mode 100644 index 0000000..051dd78 --- /dev/null +++ b/src/com/lero/model/RecordIO.java @@ -0,0 +1,99 @@ +package com.lero.model; + +import java.util.Date; + +public class RecordIO { + + private int rid; + private String stuno; + private String stuName; + private int dormId; + private String dormBuildName; + private String dorm; + private String IOTime; + private String detail; + + public RecordIO() { + } + + public RecordIO(String stuName, String IOTime, String detail) { + this.stuName = stuName; + this.IOTime = IOTime; + this.detail = detail; + } + + public RecordIO(int rid, String stuno, String stuName, int dormId, String dormBuildName, String dorm, String IOTime, String detail) { + this.rid = rid; + this.stuno = stuno; + this.stuName = stuName; + this.dormId = dormId; + this.dormBuildName = dormBuildName; + this.dorm = dorm; + this.IOTime = IOTime; + this.detail = detail; + } + + public String getDormBuildName() { + return dormBuildName; + } + + public void setDormBuildName(String dormBuildName) { + this.dormBuildName = dormBuildName; + } + + public int getRid() { + return rid; + } + + public void setRid(int rid) { + this.rid = rid; + } + + public String getStuno() { + return stuno; + } + + public void setStuno(String stuno) { + this.stuno = stuno; + } + + public String getStuName() { + return stuName; + } + + public void setStuName(String stuName) { + this.stuName = stuName; + } + + public int getDormId() { + return dormId; + } + + public void setDormId(int dormId) { + this.dormId = dormId; + } + + public String getDorm() { + return dorm; + } + + public void setDorm(String dorm) { + this.dorm = dorm; + } + + public String getIOTime() { + return IOTime; + } + + public void setIOTime(String IOTime) { + this.IOTime = IOTime; + } + + public String getDetail() { + return detail; + } + + public void setDetail(String detail) { + this.detail = detail; + } +} diff --git a/src/com/lero/model/Student.java b/src/com/lero/model/Student.java new file mode 100644 index 0000000..833ad3d --- /dev/null +++ b/src/com/lero/model/Student.java @@ -0,0 +1,108 @@ +package com.lero.model; + +public class Student { + private int studentId; + private String stuNumber; + private String userName; + private String password; + private int dormBuildId = 0; + private String dormBuildName; + private String dormName; + private String name; + private String sex; + private String tel; + + public Student() { + } + + public Student(String userName, String password) { + this.stuNumber = userName; + this.userName = userName; + this.password = password; + } + + + public Student(String stuNumber, String password, int dormBuildId, + String dormName, String name, String sex, String tel) { + this.stuNumber = stuNumber; + this.userName = stuNumber; + this.password = password; + this.dormBuildId = dormBuildId; + this.dormName = dormName; + this.name = name; + this.sex = sex; + this.tel = tel; + } + + public int getStudentId() { + return studentId; + } + public void setStudentId(int studentId) { + this.studentId = studentId; + } + public String getUserName() { + return userName; + } + public void setUserName(String userName) { + this.userName = userName; + this.stuNumber = userName; + } + public String getStuNumber() { + return stuNumber; + } + public void setStuNumber(String stuNumber) { + this.stuNumber = stuNumber; + this.userName = stuNumber; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public int getDormBuildId() { + return dormBuildId; + } + + public void setDormBuildId(int dormBuildId) { + this.dormBuildId = dormBuildId; + } + + public String getDormBuildName() { + return dormBuildName; + } + + public void setDormBuildName(String dormBuildName) { + this.dormBuildName = dormBuildName; + } + + public String getTel() { + return tel; + } + + public void setTel(String tel) { + this.tel = tel; + } + + public String getDormName() { + return dormName; + } + + public void setDormName(String dormName) { + this.dormName = dormName; + } + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getSex() { + return sex; + } + public void setSex(String sex) { + this.sex = sex; + } + +} diff --git a/src/com/lero/util/JDBCUtil.java b/src/com/lero/util/JDBCUtil.java new file mode 100644 index 0000000..67e29de --- /dev/null +++ b/src/com/lero/util/JDBCUtil.java @@ -0,0 +1,71 @@ +package com.lero.util; + +import java.sql.*; + +//宸ュ叿绫(鍒涘缓) +public class JDBCUtil { + //鑾峰彇鏁版嵁搴撹繛鎺ョ殑鏂规硶 + public Connection getConn(){ + Connection conn=null; + + try { + Class.forName(PropertiesUtil.getValue("jdbcName")); + conn= DriverManager.getConnection(PropertiesUtil.getValue("dbUrl"), PropertiesUtil.getValue("dbUserName"), PropertiesUtil.getValue("dbPassword")); + } catch (Exception e) { + e.printStackTrace(); + } + return conn; + } + + + //鍏抽棴鏁版嵁搴撹繛鎺ャ佸叧闂墽琛屽璞°佸叧闂粨鏋滈泦瀵硅薄锛堝叧闂祫婧愶級 + public void closeAll(ResultSet rs, Statement st,Connection conn){ + if(rs!=null){ + try { + rs.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if(st!=null){ + try { + st.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if(conn!=null){ + try { + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + } + } + + + //鎵ц澧炲垹鏀圭殑閫氱敤鏂规硶 + public int exec(String sql,Object[] obj){ + int count=0; + PreparedStatement pst=null; + Connection conn=getConn(); + //棰勭紪璇憇ql璇彞骞惰繑鍥炴墽琛屽璞 + try { + pst=conn.prepareStatement(sql); + for (int i = 0; i < obj.length; i++) { + pst.setObject(i+1,obj[i]); + } + count=pst.executeUpdate(); + + } catch (Exception e) { + e.printStackTrace(); + }finally { + closeAll(null,pst,conn); + } + return count; + + } +} diff --git a/src/com/lero/util/PropertiesUtil.java b/src/com/lero/util/PropertiesUtil.java new file mode 100644 index 0000000..4e2f347 --- /dev/null +++ b/src/com/lero/util/PropertiesUtil.java @@ -0,0 +1,19 @@ +package com.lero.util; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +public class PropertiesUtil { + + public static String getValue(String key) { + Properties prop = new Properties(); + InputStream in = new PropertiesUtil().getClass().getResourceAsStream("/dorm.properties"); + try { + prop.load(in); + } catch (IOException e) { + e.printStackTrace(); + } + return (String)prop.get(key); + } +} diff --git a/src/com/lero/util/StringTool.java b/src/com/lero/util/StringTool.java new file mode 100644 index 0000000..1f032ce --- /dev/null +++ b/src/com/lero/util/StringTool.java @@ -0,0 +1,22 @@ +package com.lero.util; + +public class StringTool { + + public static boolean isEmpty(String str){ + if("".equals(str)|| str==null){ + return true; + }else{ + return false; + } + } + + public static boolean isNotEmpty(String str){ + if(!"".equals(str)&&str!=null){ + return true; + }else{ + return false; + } + } + + +} diff --git a/src/com/lero/web/BlankServlet.java b/src/com/lero/web/BlankServlet.java new file mode 100644 index 0000000..09d15a1 --- /dev/null +++ b/src/com/lero/web/BlankServlet.java @@ -0,0 +1,43 @@ +package com.lero.web; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +public class BlankServlet extends HttpServlet{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + HttpSession session = request.getSession(); + Object currentUserType = session.getAttribute("currentUserType"); + if("admin".equals((String)currentUserType)) { + request.setAttribute("mainPage", "admin/blank.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } else if("dormManager".equals((String)currentUserType)) { + request.setAttribute("mainPage", "dormManager/blank.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } else if("student".equals((String)currentUserType)) { + request.setAttribute("mainPage", "student/blank.jsp"); + request.getRequestDispatcher("mainStudent.jsp").forward(request, response); + } + } + + +} diff --git a/src/com/lero/web/DormBuildServlet.java b/src/com/lero/web/DormBuildServlet.java new file mode 100644 index 0000000..a6fc192 --- /dev/null +++ b/src/com/lero/web/DormBuildServlet.java @@ -0,0 +1,271 @@ +package com.lero.web; + +import java.io.IOException; +import java.sql.Connection; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.lero.dao.DormBuildDao; +import com.lero.model.DormBuild; +import com.lero.model.DormManager; +import com.lero.model.PageBean; +import com.lero.util.JDBCUtil; +import com.lero.util.PropertiesUtil; +import com.lero.util.StringTool; + +public class DormBuildServlet extends HttpServlet{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + JDBCUtil dbUtil = new JDBCUtil(); + DormBuildDao dormBuildDao = new DormBuildDao(); + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + HttpSession session = request.getSession(); + String s_dormBuildName = request.getParameter("s_dormBuildName"); + String page = request.getParameter("page"); + String action = request.getParameter("action"); + DormBuild dormBuild = new DormBuild(); + if("preSave".equals(action)) { + dormBuildPreSave(request, response); + return; + } else if("save".equals(action)){ + dormBuildSave(request, response); + return; + } else if("delete".equals(action)){ + dormBuildDelete(request, response); + return; + } else if("manager".equals(action)){ + dormBuildManager(request, response); + return; + } else if("addManager".equals(action)){ + dormBuildAddManager(request, response); + } else if("move".equals(action)){ + managerMove(request, response); + } else if("list".equals(action)) { + if(StringTool.isNotEmpty(s_dormBuildName)) { + dormBuild.setDormBuildName(s_dormBuildName); + } + session.removeAttribute("s_dormBuildName"); + request.setAttribute("s_dormBuildName", s_dormBuildName); + } else if("search".equals(action)){ + if(StringTool.isNotEmpty(s_dormBuildName)) { + dormBuild.setDormBuildName(s_dormBuildName); + session.setAttribute("s_dormBuildName", s_dormBuildName); + }else { + session.removeAttribute("s_dormBuildName"); + } + } else { + if(StringTool.isNotEmpty(s_dormBuildName)) { + dormBuild.setDormBuildName(s_dormBuildName); + session.setAttribute("s_dormBuildName", s_dormBuildName); + } + if(StringTool.isEmpty(s_dormBuildName)) { + Object o = session.getAttribute("s_dormBuildName"); + if(o!=null) { + dormBuild.setDormBuildName((String)o); + } + } + } + if(StringTool.isEmpty(page)) { + page="1"; + } + Connection con = null; + PageBean pageBean = new PageBean(Integer.parseInt(page), Integer.parseInt(PropertiesUtil.getValue("pageSize"))); + request.setAttribute("pageSize", pageBean.getPageSize()); + request.setAttribute("page", pageBean.getPage()); + try { + con=dbUtil.getConn(); + List dormBuildList = dormBuildDao.dormBuildList(con, pageBean, dormBuild); + int total=dormBuildDao.dormBuildCount(con, dormBuild); + String pageCode = this.genPagation(total, Integer.parseInt(page), Integer.parseInt(PropertiesUtil.getValue("pageSize"))); + request.setAttribute("pageCode", pageCode); + request.setAttribute("dormBuildList", dormBuildList); + request.setAttribute("mainPage", "admin/dormBuild.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void managerMove(HttpServletRequest request, + HttpServletResponse response) { + String dormBuildId = request.getParameter("dormBuildId"); + String dormManagerId = request.getParameter("dormManagerId"); + Connection con = null; + try { + con = dbUtil.getConn(); + dormBuildDao.managerUpdateWithId(con, dormManagerId, "0"); + request.getRequestDispatcher("dormBuild?action=manager&dormBuildId="+dormBuildId).forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void dormBuildAddManager(HttpServletRequest request, + HttpServletResponse response) { + String dormBuildId = request.getParameter("dormBuildId"); + String dormManagerId = request.getParameter("dormManagerId"); + Connection con = null; + try { + con = dbUtil.getConn(); + dormBuildDao.managerUpdateWithId(con, dormManagerId, dormBuildId); + request.getRequestDispatcher("dormBuild?action=manager&dormBuildId="+dormBuildId).forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void dormBuildManager(HttpServletRequest request, + HttpServletResponse response) { + String dormBuildId = request.getParameter("dormBuildId"); + Connection con = null; + try { + con = dbUtil.getConn(); + List managerListWithId = dormBuildDao.dormManWithBuildId(con, dormBuildId); + List managerListToSelect = dormBuildDao.dormManWithoutBuild(con); + request.setAttribute("dormBuildId", dormBuildId); + request.setAttribute("managerListWithId", managerListWithId); + request.setAttribute("managerListToSelect", managerListToSelect); + request.setAttribute("mainPage", "admin/selectManager.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void dormBuildDelete(HttpServletRequest request, + HttpServletResponse response) { + String dormBuildId = request.getParameter("dormBuildId"); + Connection con = null; + try { + con = dbUtil.getConn(); + if(dormBuildDao.existManOrDormWithId(con, dormBuildId)) { + request.setAttribute("error", "瀹胯垗妤间笅鏈夊鑸嶆垨瀹跨锛屼笉鑳藉垹闄よ瀹胯垗妤"); + } else { + dormBuildDao.dormBuildDelete(con, dormBuildId); + } + request.getRequestDispatcher("dormBuild?action=list").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void dormBuildSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String dormBuildId = request.getParameter("dormBuildId"); + String dormBuildName = request.getParameter("dormBuildName"); + String detail = request.getParameter("detail"); + DormBuild dormBuild = new DormBuild(dormBuildName, detail); + if(StringTool.isNotEmpty(dormBuildId)) { + dormBuild.setDormBuildId(Integer.parseInt(dormBuildId)); + } + Connection con = null; + try { + con = dbUtil.getConn(); + int saveNum = 0; + if(StringTool.isNotEmpty(dormBuildId)) { + saveNum = dormBuildDao.dormBuildUpdate(con, dormBuild); + } else { + saveNum = dormBuildDao.dormBuildAdd(con, dormBuild); + } + if(saveNum > 0) { + request.getRequestDispatcher("dormBuild?action=list").forward(request, response); + } else { + request.setAttribute("dormBuild", dormBuild); + request.setAttribute("error", "淇濆瓨澶辫触"); + request.setAttribute("mainPage", "dormBuild/dormBuildSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void dormBuildPreSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String dormBuildId = request.getParameter("dormBuildId"); + if(StringTool.isNotEmpty(dormBuildId)) { + Connection con = null; + try { + con = dbUtil.getConn(); + DormBuild dormBuild = dormBuildDao.dormBuildShow(con, dormBuildId); + request.setAttribute("dormBuild", dormBuild); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + request.setAttribute("mainPage", "admin/dormBuildSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + + private String genPagation(int totalNum, int currentPage, int pageSize){ + int totalPage = totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1; + StringBuffer pageCode = new StringBuffer(); + pageCode.append("
  • 棣栭〉
  • "); + if(currentPage==1) { + pageCode.append("
  • 涓婁竴椤
  • "); + }else { + pageCode.append("
  • 涓婁竴椤
  • "); + } + for(int i=currentPage-2;i<=currentPage+2;i++) { + if(i<1||i>totalPage) { + continue; + } + if(i==currentPage) { + pageCode.append("
  • "+i+"
  • "); + } else { + pageCode.append("
  • "+i+"
  • "); + } + } + if(currentPage==totalPage) { + pageCode.append("
  • 涓嬩竴椤
  • "); + } else { + pageCode.append("
  • 涓嬩竴椤
  • "); + } + pageCode.append("
  • 灏鹃〉
  • "); + return pageCode.toString(); + } + +} diff --git a/src/com/lero/web/DormManagerServlet.java b/src/com/lero/web/DormManagerServlet.java new file mode 100644 index 0000000..9dccc47 --- /dev/null +++ b/src/com/lero/web/DormManagerServlet.java @@ -0,0 +1,253 @@ +package com.lero.web; + +import java.io.IOException; +import java.sql.Connection; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.lero.dao.DormManagerDao; +import com.lero.model.DormManager; +import com.lero.model.PageBean; +import com.lero.util.JDBCUtil; +import com.lero.util.PropertiesUtil; +import com.lero.util.StringTool; + +public class DormManagerServlet extends HttpServlet{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + JDBCUtil dbUtil = new JDBCUtil(); + DormManagerDao dormManagerDao = new DormManagerDao(); + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + HttpSession session = request.getSession(); + String s_dormManagerText = request.getParameter("s_dormManagerText"); + System.out.println("bbb"+s_dormManagerText); + String searchType = request.getParameter("searchType"); + String page = request.getParameter("page"); + String action = request.getParameter("action"); + DormManager dormManager = new DormManager(); + if("preSave".equals(action)) { + dormManagerPreSave(request, response); + return; + } else if("save".equals(action)){ + dormManagerSave(request, response); + return; + } else if("delete".equals(action)){ + dormManagerDelete(request, response); + return; + } else + if("list".equals(action)) { + if(StringTool.isNotEmpty(s_dormManagerText)) { + if("name".equals(searchType)) { + dormManager.setName(s_dormManagerText); + + } else if("userName".equals(searchType)) { + dormManager.setUserName(s_dormManagerText); + + } + } + session.removeAttribute("s_dormManagerText"); + session.removeAttribute("searchType"); + request.setAttribute("s_dormManagerText", s_dormManagerText); + request.setAttribute("searchType", searchType); + } else if("search".equals(action)){ + if (StringTool.isNotEmpty(s_dormManagerText)) { + if ("name".equals(searchType)) { + dormManager.setName(s_dormManagerText); + + } else if ("userName".equals(searchType)) { + dormManager.setUserName(s_dormManagerText); + + } + session.setAttribute("searchType", searchType); + session.setAttribute("s_dormManagerText", s_dormManagerText); + } else { + session.removeAttribute("s_dormManagerText"); + session.removeAttribute("searchType"); + } + } else { + if(StringTool.isNotEmpty(s_dormManagerText)) { + if("name".equals(searchType)) { + dormManager.setName(s_dormManagerText); + } else if("userName".equals(searchType)) { + dormManager.setUserName(s_dormManagerText); + } + session.setAttribute("searchType", searchType); + session.setAttribute("s_dormManagerText", s_dormManagerText); + } + if(StringTool.isEmpty(s_dormManagerText)) { + Object o1 = session.getAttribute("s_dormManagerText"); + Object o2 = session.getAttribute("searchType"); + if(o1!=null) { + if("name".equals((String)o2)) { + dormManager.setName((String)o1); + } else if("userName".equals((String)o2)) { + dormManager.setUserName((String)o1); + } + } + } + } + if(StringTool.isEmpty(page)) { + page="1"; + } + + PageBean pageBean = new PageBean(Integer.parseInt(page), Integer.parseInt(PropertiesUtil.getValue("pageSize"))); + request.setAttribute("pageSize", pageBean.getPageSize()); + request.setAttribute("page", pageBean.getPage()); + + try { + + List dormManagerList = dormManagerDao.dormManagerList(pageBean, dormManager); + int total=dormManagerDao.dormManagerCount(dormManager); + String pageCode = this.genPagation(total, Integer.parseInt(page), Integer.parseInt(PropertiesUtil.getValue("pageSize"))); + request.setAttribute("pageCode", pageCode); + request.setAttribute("dormManagerList", dormManagerList); + request.setAttribute("mainPage", "admin/dormManager.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + + } + } + + private void dormManagerDelete(HttpServletRequest request, + HttpServletResponse response) { + String dormManagerId = request.getParameter("dormManagerId"); + Connection con = null; + try { + con = dbUtil.getConn(); + dormManagerDao.dormManagerDelete(con, dormManagerId); + request.getRequestDispatcher("dormManager?action=list").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void dormManagerSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String dormManagerId = request.getParameter("dormManagerId"); + String userName = request.getParameter("userName"); + String password = request.getParameter("password"); + String name = request.getParameter("name"); + String sex = request.getParameter("sex"); + String tel = request.getParameter("tel"); + DormManager dormManager = new DormManager(userName, password, name, sex, tel); + if(StringTool.isNotEmpty(dormManagerId)) { + dormManager.setDormManagerId(Integer.parseInt(dormManagerId)); + } + Connection con = null; + try { + con = dbUtil.getConn(); + int saveNum = 0; + if(StringTool.isNotEmpty(dormManagerId)) { + saveNum = dormManagerDao.dormManagerUpdate(con, dormManager); + } else if(dormManagerDao.haveManagerByUser(con, dormManager.getUserName())){ + request.setAttribute("dormManager", dormManager); + request.setAttribute("error", "璇ョ敤鎴峰悕宸插瓨鍦"); + request.setAttribute("mainPage", "admin/dormManagerSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + return; + } else { + saveNum = dormManagerDao.dormManagerAdd(con, dormManager); + } + if(saveNum > 0) { + request.getRequestDispatcher("dormManager?action=list").forward(request, response); + } else { + request.setAttribute("dormManager", dormManager); + request.setAttribute("error", "淇濆瓨澶辫触"); + request.setAttribute("mainPage", "dormManager/dormManagerSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void dormManagerPreSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String dormManagerId = request.getParameter("dormManagerId"); + if(StringTool.isNotEmpty(dormManagerId)) { + Connection con = null; + try { + con = dbUtil.getConn(); + DormManager dormManager = dormManagerDao.dormManagerShow(con, dormManagerId); + request.setAttribute("dormManager", dormManager); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + request.setAttribute("mainPage", "admin/dormManagerSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + + private String genPagation(int totalNum, int currentPage, int pageSize){ + int totalPage = totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1; + StringBuffer pageCode = new StringBuffer(); + pageCode.append("
  • 棣栭〉
  • "); + if(currentPage==1) { + pageCode.append("
  • 涓婁竴椤
  • "); + }else { + pageCode.append("
  • 涓婁竴椤
  • "); + } + for(int i=currentPage-2;i<=currentPage+2;i++) { + if(i<1||i>totalPage) { + continue; + } + if(i==currentPage) { + pageCode.append("
  • "+i+"
  • "); + } else { + pageCode.append("
  • "+i+"
  • "); + } + } + if(currentPage==totalPage) { + pageCode.append("
  • 涓嬩竴椤
  • "); + } else { + pageCode.append("
  • 涓嬩竴椤
  • "); + } + pageCode.append("
  • 灏鹃〉
  • "); + return pageCode.toString(); + } + +} diff --git a/src/com/lero/web/LoginServlet.java b/src/com/lero/web/LoginServlet.java new file mode 100644 index 0000000..bfbfe37 --- /dev/null +++ b/src/com/lero/web/LoginServlet.java @@ -0,0 +1,137 @@ +package com.lero.web; + +import java.io.IOException; +import java.sql.Connection; + +import javax.servlet.ServletException; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.lero.dao.UserDao; +import com.lero.model.Admin; +import com.lero.model.DormManager; +import com.lero.model.Student; +import com.lero.util.JDBCUtil; + +public class LoginServlet extends HttpServlet { + + /** + * + */ + private static final long serialVersionUID = 1L; + + JDBCUtil dbUtil = new JDBCUtil(); + UserDao userDao = new UserDao(); + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + HttpSession session = request.getSession(); + String userName = request.getParameter("userName"); + String password = request.getParameter("password"); + String remember = request.getParameter("remember"); + String userType = request.getParameter("userType"); + + Connection con = null; + try { + con=dbUtil.getConn(); + Admin currentAdmin = null; + DormManager currentDormManager = null; + Student currentStudent = null; + if("admin".equals(userType)) { + Admin admin = new Admin(userName, password); + currentAdmin = userDao.Login(con, admin); + if(currentAdmin == null) { + request.setAttribute("admin", admin); + request.setAttribute("error", "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛"); + request.getRequestDispatcher("login.jsp").forward(request, response); + } else { + if("remember-me".equals(remember)) { + rememberMe(userName, password, userType,response); + } else { + deleteCookie(userName, request, response); + } + session.setAttribute("currentUserType", "admin"); + session.setAttribute("currentUser", currentAdmin); + request.setAttribute("mainPage", "admin/blank.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + } else if("dormManager".equals(userType)) { + DormManager dormManager = new DormManager(userName, password); + currentDormManager = userDao.Login(con, dormManager); + if(currentDormManager == null) { + request.setAttribute("dormManager", dormManager); + request.setAttribute("error", "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛"); + request.getRequestDispatcher("login.jsp").forward(request, response); + } else { + if("remember-me".equals(remember)) { + rememberMe(userName, password, userType,response); + } else { + deleteCookie(userName, request, response); + } + session.setAttribute("currentUserType", "dormManager"); + session.setAttribute("currentUser", currentDormManager); + request.setAttribute("mainPage", "dormManager/blank.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + } else if("student".equals(userType)) { + Student student = new Student(userName, password); + currentStudent = userDao.Login(con, student); + if(currentStudent == null) { + request.setAttribute("student", student); + request.setAttribute("error", "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒锛"); + request.getRequestDispatcher("login.jsp").forward(request, response); + } else { + if("remember-me".equals(remember)) { + rememberMe(userName, password, userType,response); + } else { + deleteCookie(userName, request, response); + } + session.setAttribute("currentUserType", "student"); + session.setAttribute("currentUser", currentStudent); + request.setAttribute("mainPage", "student/blank.jsp"); + request.getRequestDispatcher("mainStudent.jsp").forward(request, response); + } + } + + } catch(Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void rememberMe(String userName, String password, String userType, HttpServletResponse response) { + Cookie user = new Cookie("dormuser", userName+"-"+password+"-"+userType+"-"+"yes"); + user.setMaxAge(1*60*60*24*7); + response.addCookie(user); + } + + private void deleteCookie(String userName, HttpServletRequest request, HttpServletResponse response) { + Cookie[] cookies=request.getCookies(); + for(int i=0;cookies!=null && i recordList = recordIODao.recordList(con, record); + request.setAttribute("dormBuildList", recordIODao.dormBuildList(con)); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "admin/recordio.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } else if("dormManager".equals((String)currentUserType)) { + DormManager manager = (DormManager)(session.getAttribute("currentUser")); + int buildId = manager.getDormBuildId(); + String buildName = DormBuildDao.dormBuildName(con, buildId); + List recordList = recordIODao.recordListWithBuild(con, record, buildId); + request.setAttribute("dormBuildName", buildName); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "dormManager/recordio.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } else if("student".equals((String)currentUserType)) { + Student student = (Student)(session.getAttribute("currentUser")); + List recordList = recordIODao.recordListWithNumber(con, record, student.getStuNumber()); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "student/recordio.jsp"); + request.getRequestDispatcher("mainStudent.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordDelete(HttpServletRequest request, + HttpServletResponse response) { + String recordId = request.getParameter("recordId"); + Connection con = null; + try { + con = dbUtil.getConn(); + recordIODao.recordDelete(con, recordId); + request.getRequestDispatcher("recordIO?action=list").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String recordId = request.getParameter("recordId"); + String studentNumber = request.getParameter("studentNumber"); + String date = request.getParameter("date"); + String detail = request.getParameter("detail"); + RecordIO record = new RecordIO(studentNumber, date, detail); + if(StringTool.isNotEmpty(recordId)) { + if(Integer.parseInt(recordId)!=0) { + record.setRid(Integer.parseInt(recordId)); + } + } + Connection con = null; + try { + con = dbUtil.getConn(); + int saveNum = 0; + HttpSession session = request.getSession(); + DormManager manager = (DormManager)(session.getAttribute("currentUser")); + int buildId = manager.getDormBuildId(); + Student student = StudentDao.getNameById(con, studentNumber, buildId); + if(student.getName() == null) { + request.setAttribute("record", record); + request.setAttribute("error", "瀛﹀彿涓嶅湪鎮ㄧ鐞嗙殑瀹胯垗妤煎唴"); + request.setAttribute("mainPage", "dormManager/recordioSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } else { + record.setDormId(student.getDormBuildId()); + record.setStuName(student.getName()); + record.setDorm(student.getDormName()); + if(StringTool.isNotEmpty(recordId) && Integer.parseInt(recordId)!=0) { + saveNum = recordIODao.recordUpdate(con, record); + } else { + saveNum = recordIODao.recordAdd(con, record); + } + if(saveNum > 0) { + request.getRequestDispatcher("recordio?action=list").forward(request, response); + } else { + request.setAttribute("record", record); + request.setAttribute("error", "淇濆瓨澶辫触"); + request.setAttribute("mainPage", "dormManager/recordioSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordPreSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String recordId = request.getParameter("recordId"); + String studentNumber = request.getParameter("studentNumber"); + Connection con = null; + try { + con = dbUtil.getConn(); + if (StringTool.isNotEmpty(recordId)) { + RecordIO record = recordIODao.recordShow(con, recordId); + request.setAttribute("record", record); + } else { + Calendar rightNow = Calendar.getInstance(); + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + String sysDatetime = fmt.format(rightNow.getTime()); + request.setAttribute("studentNumber", studentNumber); + request.setAttribute("date", sysDatetime); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + request.setAttribute("mainPage", "dormManager/recordioSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + +} diff --git a/src/com/lero/web/RecordServlet.java b/src/com/lero/web/RecordServlet.java new file mode 100644 index 0000000..3889a8c --- /dev/null +++ b/src/com/lero/web/RecordServlet.java @@ -0,0 +1,316 @@ +package com.lero.web; + +import java.io.IOException; +import java.sql.Connection; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.lero.dao.DormBuildDao; +import com.lero.dao.RecordDao; +import com.lero.dao.StudentDao; +import com.lero.model.DormManager; +import com.lero.model.Record; +import com.lero.model.Student; +import com.lero.util.JDBCUtil; +import com.lero.util.StringTool; + +public class RecordServlet extends HttpServlet{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + JDBCUtil dbUtil = new JDBCUtil(); + RecordDao recordDao = new RecordDao(); + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + HttpSession session = request.getSession(); + Object currentUserType = session.getAttribute("currentUserType"); + String s_studentText = request.getParameter("s_studentText"); + String dormBuildId = request.getParameter("buildToSelect"); + String searchType = request.getParameter("searchType"); + String action = request.getParameter("action"); + String startDate = request.getParameter("startDate"); + String endDate = request.getParameter("endDate"); + + Record record = new Record(); + if("preSave".equals(action)) { + recordPreSave(request, response); + return; + } else if("save".equals(action)){ + recordSave(request, response); + return; + } else if("delete".equals(action)){ + recordDelete(request, response); + return; + } else if("list".equals(action)) { + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + record.setStudentName(s_studentText); + } else if("number".equals(searchType)) { + record.setStudentNumber(s_studentText); + } else if("dorm".equals(searchType)) { + record.setDormName(s_studentText); + } + } + if(StringTool.isNotEmpty(dormBuildId)) { + record.setDormBuildId(Integer.parseInt(dormBuildId)); + } + session.removeAttribute("s_studentText"); + session.removeAttribute("searchType"); + session.removeAttribute("buildToSelect"); + request.setAttribute("s_studentText", s_studentText); + request.setAttribute("searchType", searchType); + request.setAttribute("buildToSelect", dormBuildId); + } else if("search".equals(action)){ + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + record.setStudentName(s_studentText); + } else if("number".equals(searchType)) { + record.setStudentNumber(s_studentText); + } else if("dorm".equals(searchType)) { + record.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } else { + session.removeAttribute("s_studentText"); + session.removeAttribute("searchType"); + } + if(StringTool.isNotEmpty(startDate)) { + record.setStartDate(startDate); + session.setAttribute("startDate", startDate); + } else { + session.removeAttribute("startDate"); + } + if(StringTool.isNotEmpty(endDate)) { + record.setEndDate(endDate); + session.setAttribute("endDate", endDate); + } else { + session.removeAttribute("endDate"); + } + if(StringTool.isNotEmpty(dormBuildId)) { + record.setDormBuildId(Integer.parseInt(dormBuildId)); + session.setAttribute("buildToSelect", dormBuildId); + }else { + session.removeAttribute("buildToSelect"); + } + } + Connection con = null; + try { + con=dbUtil.getConn(); + if("admin".equals((String)currentUserType)) { + List recordList = recordDao.recordList(con, record); + request.setAttribute("dormBuildList", recordDao.dormBuildList(con)); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "admin/record.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } else if("dormManager".equals((String)currentUserType)) { + DormManager manager = (DormManager)(session.getAttribute("currentUser")); + int buildId = manager.getDormBuildId(); + String buildName = DormBuildDao.dormBuildName(con, buildId); + List recordList = recordDao.recordListWithBuild(con, record, buildId); + request.setAttribute("dormBuildName", buildName); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "dormManager/record.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } else if("student".equals((String)currentUserType)) { + Student student = (Student)(session.getAttribute("currentUser")); + List recordList = recordDao.recordListWithNumber(con, record, student.getStuNumber()); + request.setAttribute("recordList", recordList); + request.setAttribute("mainPage", "student/record.jsp"); + request.getRequestDispatcher("mainStudent.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordDelete(HttpServletRequest request, + HttpServletResponse response) { + String recordId = request.getParameter("recordId"); + Connection con = null; + try { + con = dbUtil.getConn(); + recordDao.recordDelete(con, recordId); + request.getRequestDispatcher("record?action=list").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String recordId = request.getParameter("recordId"); + String studentNumber = request.getParameter("studentNumber"); + String date = request.getParameter("date"); + String detail = request.getParameter("detail"); + Record record = new Record(studentNumber, date, detail); + if(StringTool.isNotEmpty(recordId)) { + if(Integer.parseInt(recordId)!=0) { + record.setRecordId(Integer.parseInt(recordId)); + } + } + Connection con = null; + try { + con = dbUtil.getConn(); + int saveNum = 0; + HttpSession session = request.getSession(); + DormManager manager = (DormManager)(session.getAttribute("currentUser")); + int buildId = manager.getDormBuildId(); + Student student = StudentDao.getNameById(con, studentNumber, buildId); + if(student.getName() == null) { + request.setAttribute("record", record); + request.setAttribute("error", "瀛﹀彿涓嶅湪鎮ㄧ鐞嗙殑瀹胯垗妤煎唴"); + request.setAttribute("mainPage", "dormManager/recordSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } else { + record.setDormBuildId(student.getDormBuildId()); + record.setStudentName(student.getName()); + record.setDormName(student.getDormName()); + if(StringTool.isNotEmpty(recordId) && Integer.parseInt(recordId)!=0) { + saveNum = recordDao.recordUpdate(con, record); + } else { + saveNum = recordDao.recordAdd(con, record); + } + if(saveNum > 0) { + request.getRequestDispatcher("record?action=list").forward(request, response); + } else { + request.setAttribute("record", record); + request.setAttribute("error", "淇濆瓨澶辫触"); + request.setAttribute("mainPage", "dormManager/recordSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void recordPreSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String recordId = request.getParameter("recordId"); + String studentNumber = request.getParameter("studentNumber"); + Connection con = null; + try { + con = dbUtil.getConn(); + if (StringTool.isNotEmpty(recordId)) { + Record record = recordDao.recordShow(con, recordId); + request.setAttribute("record", record); + } else { + Calendar rightNow = Calendar.getInstance(); + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + String sysDatetime = fmt.format(rightNow.getTime()); + request.setAttribute("studentNumber", studentNumber); + request.setAttribute("date", sysDatetime); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + request.setAttribute("mainPage", "dormManager/recordSave.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + /*else { + if("admin".equals((String)currentUserType)) { + if(StringUtil.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + record.setStudentName(s_studentText); + } else if("number".equals(searchType)) { + record.setStudentNumber(s_studentText); + } else if("dorm".equals(searchType)) { + record.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } + if(StringUtil.isNotEmpty(dormBuildId)) { + record.setDormBuildId(Integer.parseInt(dormBuildId)); + session.setAttribute("buildToSelect", dormBuildId); + } + if(StringUtil.isEmpty(s_studentText) && StringUtil.isEmpty(dormBuildId)) { + Object o1 = session.getAttribute("s_studentText"); + Object o2 = session.getAttribute("searchType"); + Object o3 = session.getAttribute("buildToSelect"); + if(o1!=null) { + if("name".equals((String)o2)) { + record.setStudentName((String)o1); + } else if("number".equals((String)o2)) { + record.setStudentNumber((String)o1); + } else if("dorm".equals((String)o2)) { + record.setDormName((String)o1); + } + } + if(o3 != null) { + record.setDormBuildId(Integer.parseInt((String)o3)); + } + } + } else if("dormManager".equals((String)currentUserType)){ + if(StringUtil.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + record.setStudentName(s_studentText); + } else if("number".equals(searchType)) { + record.setStudentNumber(s_studentText); + } else if("dorm".equals(searchType)) { + record.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } + if(StringUtil.isEmpty(s_studentText)) { + Object o1 = session.getAttribute("s_studentText"); + Object o2 = session.getAttribute("searchType"); + if(o1!=null) { + if("name".equals((String)o2)) { + record.setStudentName((String)o1); + } else if("number".equals((String)o2)) { + record.setStudentNumber((String)o1); + } else if("dorm".equals((String)o2)) { + record.setDormName((String)o1); + } + } + } + } +}*/ + +} diff --git a/src/com/lero/web/StudentServlet.java b/src/com/lero/web/StudentServlet.java new file mode 100644 index 0000000..a0819be --- /dev/null +++ b/src/com/lero/web/StudentServlet.java @@ -0,0 +1,284 @@ +package com.lero.web; + +import java.io.IOException; +import java.sql.Connection; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.lero.dao.DormBuildDao; +import com.lero.dao.StudentDao; +import com.lero.model.DormManager; +import com.lero.model.Student; +import com.lero.util.JDBCUtil; +import com.lero.util.StringTool; + +public class StudentServlet extends HttpServlet{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + JDBCUtil dbUtil = new JDBCUtil(); + StudentDao studentDao = new StudentDao(); + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + this.doPost(request, response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + HttpSession session = request.getSession(); + Object currentUserType = session.getAttribute("currentUserType"); + String s_studentText = request.getParameter("s_studentText"); + String dormBuildId = request.getParameter("buildToSelect"); + String searchType = request.getParameter("searchType"); + String action = request.getParameter("action"); + Student student = new Student(); + if("preSave".equals(action)) { + studentPreSave(request, response); + return; + } else if("save".equals(action)){ + studentSave(request, response); + return; + } else if("delete".equals(action)){ + studentDelete(request, response); + return; + } else if("list".equals(action)) { + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + student.setName(s_studentText); + } else if("number".equals(searchType)) { + student.setStuNumber(s_studentText); + } else if("dorm".equals(searchType)) { + student.setDormName(s_studentText); + } + } + if(StringTool.isNotEmpty(dormBuildId)) { + student.setDormBuildId(Integer.parseInt(dormBuildId)); + } + session.removeAttribute("s_studentText"); + session.removeAttribute("searchType"); + session.removeAttribute("buildToSelect"); + request.setAttribute("s_studentText", s_studentText); + request.setAttribute("searchType", searchType); + request.setAttribute("buildToSelect", dormBuildId); + } else if("search".equals(action)){ + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + student.setName(s_studentText); + } else if("number".equals(searchType)) { + student.setStuNumber(s_studentText); + } else if("dorm".equals(searchType)) { + student.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } else { + session.removeAttribute("s_studentText"); + session.removeAttribute("searchType"); + } + if(StringTool.isNotEmpty(dormBuildId)) { + student.setDormBuildId(Integer.parseInt(dormBuildId)); + session.setAttribute("buildToSelect", dormBuildId); + }else { + session.removeAttribute("buildToSelect"); + } + } else { + if("admin".equals((String)currentUserType)) { + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + student.setName(s_studentText); + } else if("number".equals(searchType)) { + student.setStuNumber(s_studentText); + } else if("dorm".equals(searchType)) { + student.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } + if(StringTool.isNotEmpty(dormBuildId)) { + student.setDormBuildId(Integer.parseInt(dormBuildId)); + session.setAttribute("buildToSelect", dormBuildId); + } + if(StringTool.isEmpty(s_studentText) && StringTool.isEmpty(dormBuildId)) { + Object o1 = session.getAttribute("s_studentText"); + Object o2 = session.getAttribute("searchType"); + Object o3 = session.getAttribute("buildToSelect"); + if(o1!=null) { + if("name".equals((String)o2)) { + student.setName((String)o1); + } else if("number".equals((String)o2)) { + student.setStuNumber((String)o1); + } else if("dorm".equals((String)o2)) { + student.setDormName((String)o1); + } + } + if(o3 != null) { + student.setDormBuildId(Integer.parseInt((String)o3)); + } + } + } else if("dormManager".equals((String)currentUserType)) { + if(StringTool.isNotEmpty(s_studentText)) { + if("name".equals(searchType)) { + student.setName(s_studentText); + } else if("number".equals(searchType)) { + student.setStuNumber(s_studentText); + } else if("dorm".equals(searchType)) { + student.setDormName(s_studentText); + } + session.setAttribute("s_studentText", s_studentText); + session.setAttribute("searchType", searchType); + } + if(StringTool.isEmpty(s_studentText)) { + Object o1 = session.getAttribute("s_studentText"); + Object o2 = session.getAttribute("searchType"); + if(o1!=null) { + if("name".equals((String)o2)) { + student.setName((String)o1); + } else if("number".equals((String)o2)) { + student.setStuNumber((String)o1); + } else if("dorm".equals((String)o2)) { + student.setDormName((String)o1); + } + } + } + } + } + Connection con = null; + try { + con=dbUtil.getConn(); + if("admin".equals((String)currentUserType)) { + List studentList = studentDao.studentList(con, student); + request.setAttribute("dormBuildList", studentDao.dormBuildList(con)); + request.setAttribute("studentList", studentList); + request.setAttribute("mainPage", "admin/student.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } else if("dormManager".equals((String)currentUserType)) { + DormManager manager = (DormManager)(session.getAttribute("currentUser")); + int buildId = manager.getDormBuildId(); + String buildName = DormBuildDao.dormBuildName(con, buildId); + List studentList = studentDao.studentListWithBuild(con, student, buildId); + request.setAttribute("dormBuildName", buildName); + request.setAttribute("studentList", studentList); + request.setAttribute("mainPage", "dormManager/student.jsp"); + request.getRequestDispatcher("mainManager.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void studentDelete(HttpServletRequest request, + HttpServletResponse response) { + String studentId = request.getParameter("studentId"); + Connection con = null; + try { + con = dbUtil.getConn(); + studentDao.studentDelete(con, studentId); + request.getRequestDispatcher("student?action=list").forward(request, response); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void studentSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String studentId = request.getParameter("studentId"); + String userName = request.getParameter("userName"); + String password = request.getParameter("password"); + String dormBuildId = request.getParameter("dormBuildId"); + String dormName = request.getParameter("dormName"); + String name = request.getParameter("name"); + String sex = request.getParameter("sex"); + String tel = request.getParameter("tel"); + Student student = new Student(userName, password, Integer.parseInt(dormBuildId), dormName, name, sex, tel); + if(StringTool.isNotEmpty(studentId)) { + student.setStudentId(Integer.parseInt(studentId)); + } + Connection con = null; + try { + con = dbUtil.getConn(); + int saveNum = 0; + if(StringTool.isNotEmpty(studentId)) { + saveNum = studentDao.studentUpdate(con, student); + } else if(studentDao.haveNameByNumber(con, student.getStuNumber())){ + request.setAttribute("student", student); + request.setAttribute("error", "璇ュ鍙峰凡瀛樺湪"); + request.setAttribute("mainPage", "admin/studentSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + return; + } else { + saveNum = studentDao.studentAdd(con, student); + } + if(saveNum > 0) { + request.getRequestDispatcher("student?action=list").forward(request, response); + } else { + request.setAttribute("student", student); + request.setAttribute("error", "淇濆瓨澶辫触"); + request.setAttribute("mainPage", "admin/studentSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void studentPreSave(HttpServletRequest request, + HttpServletResponse response)throws ServletException, IOException { + String studentId = request.getParameter("studentId"); + Connection con = null; + try { + con = dbUtil.getConn(); + request.setAttribute("dormBuildList", studentDao.dormBuildList(con)); + if (StringTool.isNotEmpty(studentId)) { + Student student = studentDao.studentShow(con, studentId); + request.setAttribute("student", student); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + dbUtil.closeAll(null,null,con); + } catch (Exception e) { + e.printStackTrace(); + } + } + request.setAttribute("mainPage", "admin/studentSave.jsp"); + request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); + } + + +} diff --git a/src/dorm.7z b/src/dorm.7z deleted file mode 100644 index 8d3816f..0000000 Binary files a/src/dorm.7z and /dev/null differ diff --git a/src/dorm.properties b/src/dorm.properties new file mode 100644 index 0000000..bb36614 --- /dev/null +++ b/src/dorm.properties @@ -0,0 +1,5 @@ +dbUrl=jdbc:mysql://localhost:3306/db_dorm?characterEncoding=utf-8 +dbUserName=root +dbPassword=root +jdbcName=com.mysql.jdbc.Driver +pageSize=5 \ No newline at end of file