hdw
2018-10-29 3ea3e6ac0db260b46aa262bc2ab33d8ab8860b86
gx_tieta/src/com/fgkj/dao/impl/Deverror_recordImpl.java
New file
@@ -0,0 +1,126 @@
package com.fgkj.dao.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
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.dto.BattInf;
import com.fgkj.dto.Deverror_record;
import com.fgkj.dto.Page;
public class Deverror_recordImpl implements BaseDAO,CallBack{
   public List getResults(ResultSet rs) {
      // TODO Auto-generated method stub
      return null;
   }
   //用户手动添加问题
   public boolean add(Object obj) {
      Deverror_record dev_record=(Deverror_record) obj;
      String sql=" insert into db_battinf.tb_deverror_record(stationId,record_time,error_descript,uid) values(?,?,?,?)";
      boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{dev_record.getStationId(),dev_record.getRecord_time(),dev_record.getError_descript(),dev_record.getUid()});
      return bl;
   }
   public boolean update(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   public boolean del(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   public List searchAll() {
      // TODO Auto-generated method stub
      return null;
   }
    //根据stationid查询设备的问题记录
   public List serchByCondition(Object obj) {
      BattInf binf=(BattInf) obj;
      Page p=binf.getPage();
      Connection conn=DBUtil.getConn();
      String numberSql=" SELECT FOUND_ROWS() number";
      String sql=" select SQL_CALC_FOUND_ROWS distinct tb_deverror_record.num,tb_deverror_record.stationid,record_time,error_descript,error_en " +
            "  ,db_battinf.tb_battinf.stationname,stationname1,stationname2,stationname3,stationname5 " +
            "  from db_battinf.tb_deverror_record,db_battinf.tb_battinf " +
            " where tb_deverror_record.stationid=tb_battinf.stationid " +
            " and tb_deverror_record.stationid like ? and stationname1 like ? and stationname2 like ? and stationname5 like ?  " +
            " and tb_deverror_record.uid=? and error_en=0 " ;
      //用户管理
      String userSql=" and db_battinf.tb_battinf.StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=? "+
            " ) ";
      sql+=userSql;
      String orderSql=" order by record_time desc ";
      sql+=orderSql;
      String limitSql=" limit ?,? ";
      sql+=limitSql;
      List<Deverror_record> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationId()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%",binf.getNum()
            ,binf.getNum(),(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Deverror_record dev_record=new Deverror_record();
                  dev_record.setNum(rs.getInt("num"));
                  dev_record.setStationId(rs.getString("stationId"));
                  dev_record.setStationName(rs.getString("stationName"));
                  dev_record.setStationName1(rs.getString("stationName1"));
                  dev_record.setStationName2(rs.getString("stationName2"));
                  dev_record.setStationName3(rs.getString("stationName3"));
                  dev_record.setStationName5(rs.getString("stationName5"));
                  dev_record.setRecord_time(rs.getTimestamp("record_time"));
                  dev_record.setError_descript(rs.getString("error_descript"));
                  dev_record.setError_en(rs.getInt("error_en"));
                  Page page=new Page();
                  dev_record.setPage(page);
                  list.add(dev_record);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      //去掉limit条件后的总数
      int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
      if(list!=null&&list.size()>0){
         list.get(list.size()-1).getPage().setPageSize(number);
      }
      return list;
   }
   public List serchByInfo(Object obj) {
      // TODO Auto-generated method stub
      return null;
   }
   public static void main(String[] args) {
       Deverror_recordImpl dimpl=new Deverror_recordImpl();
       BattInf binf=new BattInf();
       binf.setNum(1002);
       binf.setStationName("");
       binf.setStationName1("");
       binf.setStationName2("");
       binf.setStationName3("");
       binf.setStationName5("");
       binf.setStationId("");
       Page p=new Page();
       p.setPageCurr(1);
       p.setPageSize(10);
       binf.setPage(p);
       dimpl.serchByCondition(binf);
   }
}