1
81041
2019-10-18 cc4059f9f5a2cd6766f4d888bd35d19f3827a053
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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.dto.BattInf;
import com.fgkj.dto.Batt_Maint_Dealarm;
import com.fgkj.dto.Batt_devalarm_data;
import com.fgkj.dto.Batt_devalarm_data_history;
import com.fgkj.dto.Batt_maint_inf;
import com.fgkj.dto.Battalarm_data_history;
import com.fgkj.dto.Page;
import com.fgkj.dto.User_inf;
 
public class Batt_devalarm_data_historyImpl implements BaseDAO,CallBack{
 
    public List getResults(ResultSet rs) {
        // TODO Auto-generated method stub
        return null;
    }
 
    public boolean add(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    public boolean update(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
 
    public boolean del(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }
    //3.4设备历史告警(删除告警)<多数据删除>
    public String delPro(Object obj) {
        Batt_devalarm_data_history ddata=(Batt_devalarm_data_history) obj;
        String sql=" DELETE FROM db_alarm.tb_devalarm_data_history WHERE num="+ddata.getNum();
        return sql;
    }
 
    public List searchAll() {
        // TODO Auto-generated method stub
        return null;
    }
     //3.4设备告警历史记录查询
    /*时间段放在binf的getBattProductDate中*/
    public List serchByCondition(Object obj) {
        Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
        User_inf uinf=bmd.getUinf();
        BattInf binf=bmd.getBinf();
        Page page=bmd.getPage();
        Connection conn=DBUtil.getConn();
        String numberSql=" SELECT FOUND_ROWS() number";
        String sql="";
        String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data_history.num,record_id,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," +
                " alm_is_confirmed,alm_confirmed_time,alm_cleared_type, " +
                " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName " +
                " FROM db_alarm.tb_devalarm_data_history,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf  where db_battinf.tb_battinf.StationName LIKE ?  AND db_battinf.tb_battinf.StationName1 LIKE ? )  as DISTINCTbinf    " +
                " WHERE  tb_devalarm_data_history.dev_id=DISTINCTbinf.FbsDeviceId  " +
                " AND alm_start_time>=? and alm_start_time<=? ";
         
        /*//历史告警
        String alarmTypeSql=" AND alm_cleared_type!=0";
        baseSql+=alarmTypeSql;*/
        //判断是否为管理的机房
        String stationSql=" and db_alarm.tb_devalarm_data_history.dev_id in(select distinct db_battinf.tb_battinf.FbsDeviceId " +
                " from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf   " +
                " where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId   " +
                " and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id  " +
                " and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid  " +
                " and db_user.tb_user_inf.uid=? )";
        baseSql+=stationSql;
        
        //排序
        String endSql=" ORDER BY alm_start_time DESC ";
        //分页
        String limitSql=" LIMIT ?,? ";
        
        sql=baseSql+endSql+limitSql;
        
        List<Batt_devalarm_data_history> list=DAOHelper.executeQueryLimit(sql, conn,new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattProductDate(),binf.getBattProductDate1()
            ,uinf.getUId(),(page.getPageCurr() - 1)*page.getPageSize()
            ,page.getPageSize()}, new CallBack() {
                
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Batt_devalarm_data_history ddata=new Batt_devalarm_data_history();
                        ddata.setNum(rs.getInt("num"));
                        ddata.setDev_id(rs.getInt("dev_id"));
                        ddata.setDev_ip(rs.getString("dev_ip"));
                        ddata.setAlm_type(rs.getInt("alm_type"));
                        ddata.setAlm_level(rs.getInt("alm_level"));
                        ddata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
                        ddata.setAlm_end_time(rs.getTimestamp("alm_end_time"));
                        ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
                        ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
                        ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type"));
                        
                        ddata.setDev_name(rs.getString("FbsDeviceName"));
                        ddata.setStationName(rs.getString("stationName"));
                        
                        
                        list.add(ddata);
                    }
                } 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).setUsr_id(number);
        }
        return list;
    }
 
    public List serchByInfo(Object obj) {
        // TODO Auto-generated method stub
        return null;
    }
   public static void main(String[] args) throws ParseException {
        Batt_devalarm_data_historyImpl bimpl=new Batt_devalarm_data_historyImpl();
        Page p = new Page();
        p.setPageCurr(1);
        p.setPageSize(10);
        /*条件所存放的位置前台:tb_batt_maint_inf 
         * 在线电压:usr_id 
         * 组端电压:fault_type_id
         * 充电电流:fault_level 
         * 放电电流:record_uid 
         * 单体电压:maint_type_id 
         * 单体温度:maint_done
         * 单体内阻:maint_close 
         * 连接条阻抗:master_id
         * */
        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.setBattProductDate(ActionUtil.getSimpDate(date1));
        binf.setBattProductDate1(ActionUtil.getSimpDate(date2));
        
        User_inf uinf=new User_inf();
        uinf.setUId(1002);
        Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
        bmd.setPage(p);
        bmd.setBinf(binf);
        bmd.setUinf(uinf);
        List<Batt_devalarm_data_history> list=bimpl.serchByCondition(bmd);
        for (Batt_devalarm_data_history b : list) {
            System.out.println(b);
        }
}
}