81041
2018-10-29 2a3878853abe5e914f59aca08b3cc4a855713d6e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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 " +
                " order by record_time desc " +
                " limit ?,? ";
        List<Deverror_record> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationId()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"
                ,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);
    }
 
}