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.BattInf; import com.fgkj.dto.Batttestdata_inf; import com.fgkj.dto.Page; import com.fgkj.dto.Task_Batt_Test; import com.fgkj.dto.User_inf; import com.fgkj.dto.User_task_change; public class User_task_changeImpl implements BaseDAO,CallBack{ public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ User_task_change uchange=new User_task_change(); uchange.setNum(rs.getInt("num")); uchange.setUsr_id(rs.getInt("usr_id")); uchange.setMaster_id(rs.getInt("master_id")); uchange.setAppoint_uid(rs.getInt("appoint_uid")); uchange.setCopy_uids(rs.getString("copy_uids")); uchange.setChange_type_id(rs.getInt("change_type_id")); uchange.setTask_type_id(rs.getInt("task_type_id")); uchange.setTask_rc_num(rs.getInt("task_rc_num")); uchange.setBattgroupId(rs.getInt("battgroupId")); uchange.setChange_reason(rs.getString("change_reason")); uchange.setOld_executor_ids(rs.getString("old_executor_ids")); uchange.setOld_task_exe_time(rs.getTimestamp("old_task_exe_time")); uchange.setNew_executor_ids(rs.getString("new_executor_ids")); uchange.setNew_task_exe_time(rs.getTimestamp("new_task_exe_time")); uchange.setChange_ask_time(rs.getTimestamp("change_ask_time")); uchange.setChange_ask_time_limit(rs.getTimestamp("change_ask_time_limit")); uchange.setTask_change_approve_time(rs.getTimestamp("task_change_approve_time")); uchange.setTask_change_approve_res(rs.getInt("task_change_approve_res")); uchange.setRemark(rs.getString("remark")); list.add(uchange); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //4.1作业变更申请 public boolean add(Object obj) { User_task_change uchange=(User_task_change) obj; String sql="insert into db_user.tb_user_task_change(usr_id,master_id,appoint_uid,copy_uids,change_type_id,task_type_id,task_rc_num" + ",battgroupid,change_reason,old_executor_ids,old_task_exe_time,new_executor_ids,new_task_exe_time,change_ask_time" + ",change_ask_time_limit,task_change_approve_time,task_change_approve_res,remark) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uchange.getUsr_id(),uchange.getMaster_id(),uchange.getAppoint_uid() ,uchange.getCopy_uids(),uchange.getChange_type_id(),uchange.getTask_type_id(),uchange.getTask_rc_num(),uchange.getBattgroupId(),uchange.getChange_reason() ,uchange.getOld_executor_ids(),uchange.getOld_task_exe_time(),uchange.getNew_executor_ids(),uchange.getNew_task_exe_time(),uchange.getChange_ask_time() ,uchange.getChange_ask_time_limit(),uchange.getTask_change_approve_time(),uchange.getTask_change_approve_res(),uchange.getRemark()}); return bl; } //4.5作业变更查询(审批) public boolean update(Object obj) { User_task_change uchange=(User_task_change) obj; String sql="update db_user.tb_user_task_change set task_change_approve_res=?,remark=?,task_change_approve_time=? where num=? "; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uchange.getTask_change_approve_res(),uchange.getRemark(),uchange.getTask_change_approve_time(),uchange.getNum()}); return bl; } //4.5作业变更查询(删除记录) public boolean del(Object obj) { User_task_change uchange=(User_task_change)obj; String sql="delete from db_user.tb_user_task_change where num=?"; boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uchange.getNum()}); return bl; } public List searchAll() { return null; } //4.5作业变更查询 public List serchByCondition1(Object obj) { Task_Batt_Test tbt=(Task_Batt_Test) obj; BattInf binf=tbt.getBinf(); User_task_change uchange=tbt.getUchange(); String sql=""; String baseSql="select distinct(tb_user_task_change.battgroupid),battgroupname,stationname,tb_user_task_change.num,usr_id,master_id,appoint_uid,copy_uids,change_type_id,task_type_id,task_rc_num" + ",change_reason,old_executor_ids,old_task_exe_time,new_executor_ids,new_task_exe_time,change_ask_time,change_ask_time_limit,task_change_approve_time" + ",task_change_approve_res,remark " + "from db_user.tb_user_task_change,db_battinf.tb_battinf " + "where tb_user_task_change.BattGroupId=db_battinf.tb_battinf.BattGroupId " + "and (change_ask_time)>=(?) and (change_ask_time)<=(?) "; //用于维护区 String station1SqlT=" and stationname1!=? ";//全部 String station1SqlF=" and stationname1=? "; if(binf.getStationName1().equals("")){ baseSql+=station1SqlT; }else{ baseSql+=station1SqlF; } //用于机房站点 String stationSqlT=" and stationname!=? ";//全部 String stationSqlF=" and stationname=? "; if(binf.getStationName().equals("")){ baseSql+=stationSqlT; }else{ baseSql+=stationSqlF; } //用于电池类型 String producerSqlT=" and battproducer!=? ";//全部 String producerSqlF=" and battproducer=? "; if(binf.getBattProducer().equals("")){ baseSql+=producerSqlT; }else{ baseSql+=producerSqlF; } //选取蓄电池组条件 String idSqlT=" and db_battinf.tb_battinf.battgroupid!=? "; String idSqlF=" and db_battinf.tb_battinf.battgroupid=? "; if(binf.getBattGroupId()==0){ baseSql+=idSqlT; }else{ baseSql+=idSqlF; } //选取系统类型 String nameSqlT=" and BattGroupName1 like ? "; String nameSqlF=" and BattGroupName1 not like '%开关电源系统%' and BattGroupName1 not like '%UPS系统%' and BattGroupName1 not like ? "; if(binf.getBattGroupName1().equals("其他")){ baseSql+=nameSqlF; }else{ baseSql+=nameSqlT; } //用于单体电压 String volSqlT=" and monVolStd!=? ";//全部 String volSqlF=" and monVolStd=?" ; if(binf.getMonVolStd()==0){ baseSql+=volSqlT; }else{ baseSql+=volSqlF; } //用于电池容量 String capSqlT=" and monCapStd!=? ";//全部 String capSqlF=" and monCapStd=?" ; if(binf.getMonCapStd()==0){ baseSql+=capSqlT; }else{ baseSql+=capSqlF; } //用于作业类型 String task_typeSqlT=" and task_type_id!=? ";//全部 String task_typeSqlF=" and task_type_id=? "; if(uchange.getTask_type_id()==100){ baseSql+=task_typeSqlT; // System.out.println("Task_type_id: "+uchange.getTask_type_id()); }else{ baseSql+=task_typeSqlF; } //用于作业变更申请人 String approveSqlT=" and usr_id!=? ";//全部 String approveSqlF=" and usr_id=? "; if(uchange.getUsr_id()==0){ baseSql+=approveSqlT; // System.out.println("usr_id: "+uchange.getUsr_id()); }else{ baseSql+=approveSqlF; } //用于作业变更类型 String change_typeSqlT=" and change_type_id!=? ";//全部 String change_typeSqlF=" and change_type_id=? "; if(uchange.getChange_type_id()==100){ baseSql+=change_typeSqlT; // System.out.println("Change_type_id: "+uchange.getChange_type_id()); }else{ baseSql+=change_typeSqlF; } //用于变更审批状态 String change_approveSqlT=" and task_change_approve_res!=? ";//全部 String change_approveSqlF=" and task_change_approve_res=? "; String change_approveSqlD=" and task_change_approve_res in (0,?) ";//未批准 if(uchange.getTask_change_approve_res()==100){ baseSql+=change_approveSqlT; // System.out.println("Task_change_approve_res: "+uchange.getTask_change_approve_res()); }else{ if(uchange.getTask_change_approve_res()==2){ baseSql+=change_approveSqlF; } else{ baseSql+=change_approveSqlD; } } //按照battgroupid排序 String endSql=" order by tb_user_task_change.num "; sql=baseSql+endSql; //System.out.println(sql); List list=DAOHelper.executeQuery(sql, DBUtil.getConn() ,new Object[]{ uchange.getChange_ask_time(), uchange.getChange_ask_time1(), binf.getStationName1(), binf.getStationName(), binf.getBattProducer(), binf.getBattGroupId(), "%"+binf.getBattGroupName1()+"%", binf.getMonVolStd(), binf.getMonCapStd(), uchange.getTask_type_id(), uchange.getUsr_id(), uchange.getChange_type_id(), uchange.getTask_change_approve_res() }, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ User_task_change uchange=new User_task_change(); uchange.setNum(rs.getInt("num")); uchange.setUsr_id(rs.getInt("usr_id")); uchange.setMaster_id(rs.getInt("master_id")); uchange.setAppoint_uid(rs.getInt("appoint_uid")); uchange.setCopy_uids(rs.getString("copy_uids")); uchange.setChange_type_id(rs.getInt("change_type_id")); uchange.setTask_type_id(rs.getInt("task_type_id")); uchange.setTask_rc_num(rs.getInt("task_rc_num")); uchange.setBattgroupId(rs.getInt("battgroupId")); uchange.setChange_reason(rs.getString("change_reason")); uchange.setOld_executor_ids(rs.getString("old_executor_ids")); uchange.setOld_task_exe_time(rs.getTimestamp("old_task_exe_time")); uchange.setNew_executor_ids(rs.getString("new_executor_ids")); uchange.setNew_task_exe_time(rs.getTimestamp("new_task_exe_time")); uchange.setChange_ask_time(rs.getTimestamp("change_ask_time")); uchange.setChange_ask_time_limit(rs.getTimestamp("change_ask_time_limit")); uchange.setTask_change_approve_time(rs.getTimestamp("task_change_approve_time")); uchange.setTask_change_approve_res(rs.getInt("task_change_approve_res")); uchange.setRemark(rs.getString("remark")); BattInf binf=new BattInf(); binf.setBattGroupId(rs.getInt("battGroupId")); binf.setBattGroupName(rs.getString("battGroupName")); binf.setStationName(rs.getString("stationName")); Task_Batt_Test tbt=new Task_Batt_Test(); Page page=new Page(); tbt.setUchange(uchange); tbt.setBinf(binf); tbt.setPage(page); list.add(tbt); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //System.out.println(list.size()); List listd=new ArrayList(); int index=0; for(int i=(tbt.getPage().getPageCurr()-1)*tbt.getPage().getPageSize();i=(?) and (change_ask_time)<=(?) "; //用于维护区 String station1SqlT=" and stationname1!=? ";//全部 String station1SqlF=" and stationname1=? "; if(binf.getStationName1().equals("")){ baseSql+=station1SqlT; }else{ baseSql+=station1SqlF; } //用于机房站点 String stationSqlT=" and stationname!=? ";//全部 String stationSqlF=" and stationname=? "; if(binf.getStationName().equals("")){ baseSql+=stationSqlT; }else{ baseSql+=stationSqlF; } //用于电池类型 String producerSqlT=" and battproducer!=? ";//全部 String producerSqlF=" and battproducer=? "; if(binf.getBattProducer().equals("")){ baseSql+=producerSqlT; }else{ baseSql+=producerSqlF; } //选取蓄电池组条件 String idSqlT=" and db_battinf.tb_battinf.battgroupid!=? "; String idSqlF=" and db_battinf.tb_battinf.battgroupid=? "; if(binf.getBattGroupId()==0){ baseSql+=idSqlT; }else{ baseSql+=idSqlF; } //选取系统类型 String nameSqlT=" and BattGroupName1 like ? "; String nameSqlF=" and BattGroupName1 not like '%开关电源系统%' and BattGroupName1 not like '%UPS系统%' and BattGroupName1 not like ? "; if(binf.getBattGroupName1().equals("其他")){ baseSql+=nameSqlF; }else{ baseSql+=nameSqlT; } //用于单体电压 String volSqlT=" and monVolStd!=? ";//全部 String volSqlF=" and monVolStd=?" ; if(binf.getMonVolStd()==0){ baseSql+=volSqlT; }else{ baseSql+=volSqlF; } //用于电池容量 String capSqlT=" and monCapStd!=? ";//全部 String capSqlF=" and monCapStd=?" ; if(binf.getMonCapStd()==0){ baseSql+=capSqlT; }else{ baseSql+=capSqlF; } //用于作业类型 String task_typeSqlT=" and task_type_id!=? ";//全部 String task_typeSqlF=" and task_type_id=? "; if(uchange.getTask_type_id()==100){ baseSql+=task_typeSqlT; // System.out.println("Task_type_id: "+uchange.getTask_type_id()); }else{ baseSql+=task_typeSqlF; } //用于作业变更申请人 String approveSqlT=" and usr_id!=? ";//全部 String approveSqlF=" and usr_id=? "; if(uchange.getUsr_id()==0){ baseSql+=approveSqlT; // System.out.println("usr_id: "+uchange.getUsr_id()); }else{ baseSql+=approveSqlF; } //用于作业变更类型 String change_typeSqlT=" and change_type_id!=? ";//全部 String change_typeSqlF=" and change_type_id=? "; if(uchange.getChange_type_id()==100){ baseSql+=change_typeSqlT; // System.out.println("Change_type_id: "+uchange.getChange_type_id()); }else{ baseSql+=change_typeSqlF; } //用于变更审批状态 String change_approveSqlT=" and task_change_approve_res!=? ";//全部 String change_approveSqlF=" and task_change_approve_res=? "; String change_approveSqlD=" and task_change_approve_res in (0,?) ";//未批准 if(uchange.getTask_change_approve_res()==100){ baseSql+=change_approveSqlT; // System.out.println("Task_change_approve_res: "+uchange.getTask_change_approve_res()); }else{ if(uchange.getTask_change_approve_res()==2){ baseSql+=change_approveSqlF; } else{ baseSql+=change_approveSqlD; } } //按照battgroupid排序 String endSql=" order by tb_user_task_change.battgroupid "; String limitSql=" limit ?,? "; sql=baseSql+endSql+limitSql; //System.out.println(sql); List list=DAOHelper.executeQueryLimit(sql, conn ,new Object[]{ uchange.getChange_ask_time(), uchange.getChange_ask_time1(), binf.getStationName1(), binf.getStationName(), binf.getBattProducer(), binf.getBattGroupId(), "%"+binf.getBattGroupName1()+"%", binf.getMonVolStd(), binf.getMonCapStd(), uchange.getTask_type_id(), uchange.getUsr_id(), uchange.getChange_type_id(), uchange.getTask_change_approve_res(), (tbt.getPage().getPageCurr() - 1)* tbt.getPage().getPageSize(), tbt.getPage().getPageSize() }, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ User_task_change uchange=new User_task_change(); uchange.setNum(rs.getInt("num")); uchange.setUsr_id(rs.getInt("usr_id")); uchange.setMaster_id(rs.getInt("master_id")); uchange.setAppoint_uid(rs.getInt("appoint_uid")); uchange.setCopy_uids(rs.getString("copy_uids")); uchange.setChange_type_id(rs.getInt("change_type_id")); uchange.setTask_type_id(rs.getInt("task_type_id")); uchange.setTask_rc_num(rs.getInt("task_rc_num")); uchange.setBattgroupId(rs.getInt("battgroupId")); uchange.setChange_reason(rs.getString("change_reason")); uchange.setOld_executor_ids(rs.getString("old_executor_ids")); uchange.setOld_task_exe_time(rs.getTimestamp("old_task_exe_time")); uchange.setNew_executor_ids(rs.getString("new_executor_ids")); uchange.setNew_task_exe_time(rs.getTimestamp("new_task_exe_time")); uchange.setChange_ask_time(rs.getTimestamp("change_ask_time")); uchange.setChange_ask_time_limit(rs.getTimestamp("change_ask_time_limit")); uchange.setTask_change_approve_time(rs.getTimestamp("task_change_approve_time")); uchange.setTask_change_approve_res(rs.getInt("task_change_approve_res")); uchange.setRemark(rs.getString("remark")); BattInf binf=new BattInf(); binf.setBattGroupId(rs.getInt("battGroupId")); binf.setBattGroupName(rs.getString("battGroupName")); binf.setStationName(rs.getString("stationName")); Task_Batt_Test tbt=new Task_Batt_Test(); Page page=new Page(); tbt.setUchange(uchange); tbt.setBinf(binf); tbt.setPage(page); list.add(tbt); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //System.out.println(list.size()); /*List listd=new ArrayList(); int index=0; for(int i=(tbt.getPage().getPageCurr()-1)*tbt.getPage().getPageSize();i0){ list.get(list.size()-1).getPage().setPageAll(number); } return list; } public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2000-01-01"); Date date2 = sdf.parse("2020-01-01"); BattInf binf = new BattInf(); binf.setStationName(""); binf.setStationName1(""); binf.setBattGroupId(0); binf.setBattGroupName1(""); binf.setBattProducer(""); binf.setMonCapStd(0f); binf.setMonVolStd(0f); User_task_change uchange=new User_task_change(); uchange.setTask_type_id(100); //作业类型 100:全部 uchange.setChange_type_id(100); //作业变更类型 uchange.setUsr_id(0); //作业变更申请人 uchange.setTask_change_approve_res(0); //变更审批状态 uchange.setChange_ask_time(ActionUtil.getSimpDate(date1)); uchange.setChange_ask_time1(ActionUtil.getSimpDate(date2)); Page page=new Page(); page.setPageCurr(1); page.setPageSize(10); Task_Batt_Test tbt=new Task_Batt_Test(); tbt.setBinf(binf); tbt.setUchange(uchange); tbt.setPage(page); User_task_changeImpl uimpl=new User_task_changeImpl(); List list=uimpl.serchByCondition(tbt); for (Task_Batt_Test t : list) { System.out.println(t.getUchange()); } System.out.println(list.size()); } }