package com.fgkj.dao.impl; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.fgkj.actions.ActionUtil; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.dao.LimitNumberFactory; import com.fgkj.db.DBUtil; import com.fgkj.db.IDatabaseName; import com.fgkj.dto.Batt_Maint_Dealarm; import com.fgkj.dto.Batt_User_Permit; import com.fgkj.dto.Page; import com.fgkj.dto.User_inf; import com.fgkj.dto.User_log; public class User_logImpl implements BaseDAO, CallBack { private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public List getResults(ResultSet rs) { List list = new ArrayList(); try { while (rs.next()) { User_log ulog = new User_log(); ulog.setNum(rs.getInt("num")); ulog.setuId(rs.getInt("uId")); ulog.setUOprateType(rs.getInt("uOprateType")); ulog.setUOprateDay(rs.getTimestamp("uOprateDay")); ulog.setuTerminalIp(rs.getString("uTerminalIp")); ulog.setuOprateMsg(rs.getString("uOprateMsg")); list.add(ulog); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //用户的操作记录下来 public boolean add(Object obj) { User_log ulog=(User_log) obj; String sql="insert into db_user.tb_user_log(uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg) values(?,?,?,?,?)"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ulog.getuId(), ulog.getUOprateType(),ulog.getUOprateDay(),ulog.getuTerminalIp(),ulog.getuOprateMsg()}); return bl; } //用户的操作记录下来(记录多条) public boolean addPro(Object obj) { List list=(List) obj; ArrayList sql_strs=new ArrayList(); if(list!=null&&list.size()>0){ for (User_log ulog : list) { String sql="insert into db_user.tb_user_log(uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg) values("+ulog.getuId()+","+ulog.getUOprateType()+",'"+DAOHelper.sdf.format(ulog.getUOprateDay())+"','"+ulog.getuTerminalIp()+"','"+ulog.getuOprateMsg()+"')"; sql_strs.add(sql); } } boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_strs); return bl; } public boolean update(Object obj) { User_log ulog=(User_log) obj; String sql="update db_user.tb_user_log set uId=?,uOprateType=?,uOprateDay=?,uTerminalIp=?,uOprateMsg=? where num=?"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ulog.getuId(), ulog.getUOprateType(),ulog.getUOprateDay(),ulog.getuTerminalIp(),ulog.getuOprateMsg(),ulog.getNum()}); return bl; } public boolean del(Object obj) { User_log ulog=(User_log) obj; String sql="delete from db_user.tb_user_log where num=?"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ulog.getNum()}); return bl; } public List searchAll() { String sql = "select num,uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg from db_user.tb_user_log order by (uOprateDay) desc"; List list = DAOHelper .executeQuery(sql, DBUtil.getConn(), null, new User_logImpl()); return list; } //5.4用户操作记录查询(根据用户名和操作类型) public List serchByCondition1(Object obj) { Batt_User_Permit bup=(Batt_User_Permit) obj; User_log ulog=bup.getUlog(); User_inf uinf=bup.getUinf(); //System.out.println(uinf); //System.out.println(ulog); String sql=""; String baseSql = "select tb_user_log.uId,uoprateType,uoprateDay,uterminalIp,uoprateMsg" + ",tb_user_inf.uName " + "from db_user.tb_user_inf,db_user.tb_user_log " + "where tb_user_inf.uId=tb_user_log.uId " + "and tb_user_inf.uName like ?" + "and (uoprateDay)>(?) " + "and (uoprateDay)<(?) "; String sqlT="and uoprateType=?"; String sqlF="and uoprateType!=?"; if(ulog.getUOprateType()==0){ sql=baseSql+sqlF; }else{ sql=baseSql+sqlT; } //System.out.println("查询操作记录"); String endsql = " ORDER BY uOprateDay DESC "; sql= sql+endsql; List list = DAOHelper .executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+uinf.getUName()+"%",ulog.getUOprateDay(),ulog.getUOprateDay1(),ulog.getUOprateType()},new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_User_Permit bup=new Batt_User_Permit(); User_inf uinf=new User_inf(); uinf.setUName(rs.getString("uName")); User_log ulog=new User_log(); ulog.setuId(rs.getInt("uId")); ulog.setUOprateType(rs.getInt("uOprateType")); ulog.setUOprateDay(rs.getTimestamp("uOprateDay")); ulog.setuTerminalIp(rs.getString("uTerminalIp")); ulog.setuOprateMsg(rs.getString("uOprateMsg")); Page page=new Page(); bup.setUinf(uinf); bup.setUlog(ulog); bup.setPage(page); list.add(bup); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); List listd=new ArrayList(); int index=0; //System.out.println(list.size()); for(int i=(bup.getPage().getPageCurr()-1)*bup.getPage().getPageSize();i(?) " + "and (uoprateDay)<(?) "; String sqlT="and uoprateType=?"; String sqlF="and uoprateType!=?"; if(ulog.getUOprateType()==0){ sql=baseSql+sqlF; }else{ sql=baseSql+sqlT; } String endsql = " ORDER BY uOprateDay DESC "; sql= sql+endsql; String limitSql=" limit ?,? "; sql+=limitSql; List list = DAOHelper .executeQueryLimit(sql, conn, new Object[]{"%"+uinf.getUName()+"%",ulog.getUOprateDay(),ulog.getUOprateDay1(),ulog.getUOprateType(),(bup.getPage().getPageCurr() - 1)* bup.getPage().getPageSize(), bup.getPage().getPageSize() },new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_User_Permit bup=new Batt_User_Permit(); User_inf uinf=new User_inf(); uinf.setUName(rs.getString("uName")); User_log ulog=new User_log(); ulog.setuId(rs.getInt("uId")); ulog.setUOprateType(rs.getInt("uOprateType")); ulog.setUOprateDay(rs.getTimestamp("uOprateDay")); ulog.setuTerminalIp(rs.getString("uTerminalIp")); ulog.setuOprateMsg(rs.getString("uOprateMsg")); Page page=new Page(); bup.setUinf(uinf); bup.setUlog(ulog); bup.setPage(page); list.add(bup); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null&&list.size()>0){ list.get(list.size()-1).getPage().setPageAll(number); } return list; } //0.2当前时间的操作记录 public List serchByInfo(Object obj) { User_log ulog=(User_log) obj; String sql="select tb_user_log.uId,uoprateType,uoprateDay,uterminalIp,uoprateMsg" + ",tb_user_inf.uName " + "from db_user.tb_user_inf,db_user.tb_user_log " + "where tb_user_inf.uId=tb_user_log.uId " + "and (uoprateDay)>=(?) " + "and (uoprateDay)<=(?) "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{ulog.getUOprateDay(),ulog.getUOprateDay1()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_User_Permit bup=new Batt_User_Permit(); User_inf uinf=new User_inf(); uinf.setUName(rs.getString("uName")); User_log ulog=new User_log(); ulog.setuId(rs.getInt("uId")); ulog.setUOprateType(rs.getInt("uOprateType")); ulog.setUOprateDay(rs.getTimestamp("uOprateDay")); ulog.setuTerminalIp(rs.getString("uTerminalIp")); ulog.setuOprateMsg(rs.getString("uOprateMsg")); bup.setUinf(uinf); bup.setUlog(ulog); list.add(bup); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } public static void main(String[] args) throws ParseException { User_logImpl uimpl=new User_logImpl(); Batt_User_Permit bup=new Batt_User_Permit(); User_inf uinf=new User_inf(); uinf.setUName(""); User_log ulog=new User_log(); ulog.setUOprateType(0); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2016-09-01"); Date date2 = sdf.parse("2025-01-01"); ulog.setUOprateDay(ActionUtil.getSimpDate(date1)); ulog.setUOprateDay1(ActionUtil.getSimpDate(date1)); Page page=new Page(); page.setPageCurr(1); page.setPageSize(10); bup.setUinf(uinf); bup.setUlog(ulog); bup.setPage(page); //List list=uimpl.serchByCondition(bup); List list=uimpl.serchByInfo(ulog); System.out.println(list.size()); for (Batt_User_Permit b : list) { System.out.println(b.getUlog()); } } }