lxw
2020-07-11 9db52f2f2dd3665fe9da1ae5657e0167c3a34d40
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.fgkj.dao.impl;
 
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.db.DBUtil;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Devtmp_record;
 
public class Devtmp_recordImpl implements BaseDAO,CallBack{
 
    @Override
    public List getResults(ResultSet rs) {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public boolean add(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    @Override
    public boolean update(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    @Override
    public boolean del(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    @Override
    public List searchAll() {
        // TODO Auto-generated method stub
        return null;
    }
    //设备温度记录查询<根据设备id查>
    @Override
    public List serchByCondition(Object obj) {
        Devtmp_record dre=(Devtmp_record) obj;
        String sql=" select distinct dev_id,dev_tmp,recordtime from web_site.tb_devtmp_record "
                + " where dev_id=?  and recordtime>=? and recordtime<=? "
                + " order by recordtime asc ";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{dre.getDev_id(),dre.getRecordtime(),dre.getRecordtime1()}, new CallBack() {
            
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Devtmp_record d=new Devtmp_record();
                        d.setDev_id(rs.getInt("dev_id"));
                        d.setDev_tmp(rs.getFloat("dev_tmp"));
                        d.setRecordtime(rs.getTimestamp("recordtime"));
                        list.add(d);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //批量显示每个站的温度最大值
    @Override
    public List serchByInfo(Object obj) {
        BattInf binf=(BattInf) obj;
        String sql=" select dev_id,FORMAT(max(dev_tmp),1) as max_tmp, stationname,stationname1,stationname2,stationname3,stationname5 "
                + " from web_site.tb_devtmp_record,db_battinf.tb_battinf  "
                + " where web_site.tb_devtmp_record.dev_id=db_battinf.tb_battinf.FBSDeviceId  "
                + " and recordtime>=? and recordtime<=? ";
        //区域选择 
        String stationsqlO=" and stationname1 like ? ";
        String stationsqlT=" and stationname2 like ? ";
        String stationsqlH=" and stationname5 like ? ";
        if(binf.getNum()==1){
            sql+=stationsqlO;
        }else if(binf.getNum()==2){
            sql+=stationsqlT;
        }else if(binf.getNum()==3){
            sql+=stationsqlH;
        }
        //分组sql
        String groupSql=" GROUP BY  dev_id ";
        sql+=groupSql;
        //排序
        String orderSql=" order by dev_id asc ";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattProductDate(),binf.getBattProductDate1(),"%"+binf.getStationName()+"%"}, new CallBack() {
            
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Devtmp_record d=new Devtmp_record();
                        d.setDev_id(rs.getInt("dev_id"));
                        d.setDev_tmp(rs.getFloat("max_tmp"));
                        d.setStationname(rs.getString("stationname"));
                        d.setStationname1(rs.getString("stationname1"));
                        d.setStationname2(rs.getString("stationname2"));
                        d.setStationname3(rs.getString("stationname3"));
                        d.setStationname5(rs.getString("stationname5"));
                        list.add(d);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
  
    public static void main(String[] args) throws ParseException {
        Devtmp_recordImpl dimpl=new Devtmp_recordImpl();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = sdf.parse("2000-01-01");
        Date date2 = sdf.parse("2020-01-01");
        
        Devtmp_record dre=new Devtmp_record();
        dre.setDev_id(910000113);
        dre.setRecordtime(ActionUtil.getSimpDate(date1));
        dre.setRecordtime1(ActionUtil.getSimpDate(date2));
        BattInf binf=new BattInf();
        binf.setNum(2);
        binf.setStationName("");
        binf.setBattProductDate(ActionUtil.getSimpDate(date1));
        binf.setBattProductDate1(ActionUtil.getSimpDate(date2));
        //List<Devtmp_record> list=dimpl.serchByCondition(dre);
        List<Devtmp_record> list=dimpl.serchByInfo(binf);
        for (Devtmp_record d : list) {
            System.out.println(d);
        }
    }
}