package com.ard.utils.jdbc;
|
|
/**
|
* @Description:
|
* @ClassName: Query
|
* @Author: 刘苏义
|
* @Date: 2023年09月19日13:01:28
|
**/
|
|
import com.ard.alarm.digitization.model.DataBridge;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.sql.Statement;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Slf4j(topic = "digitization3")
|
public class Query {
|
static Connection conn = null;
|
static Statement st = null;
|
static ResultSet rs = null;
|
|
public static List<DataBridge> getAlarmData(Date alarmTime, Integer rowNum) {
|
List<DataBridge> dataBridgeList = new ArrayList<>();
|
try {
|
//1、获取连接对象
|
conn = Conn.getGc().getCon();
|
//2、创建statement类对象,用来执行SQL语句
|
st = conn.createStatement();
|
//3、创建sql查询语句
|
StringBuilder sbd = new StringBuilder();
|
String sql = "select * from (select * from DATABRIDGE order by DB_DATETIME desc ) where 1=1 ";
|
sbd.append(sql);
|
if (rowNum != null) {
|
sbd.append(" and rownum <" + rowNum);
|
}
|
if (alarmTime != null) {
|
SimpleDateFormat fmt = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
String Time = fmt.format(alarmTime);
|
sbd.append(" and DB_DATETIME > to_date('" + Time + "','yyyy/mm/dd hh24:mi:ss')");
|
}
|
//4、执行sql语句并且换回一个查询的结果集
|
rs = st.executeQuery(sbd.toString());
|
while (rs.next()) { //循环遍历结果集
|
DataBridge dataBridge = new DataBridge();
|
dataBridge.setId(rs.getString("DB_GUID"));
|
dataBridge.setXmmc(rs.getString("DB_XMMC"));
|
dataBridge.setFKey(rs.getString("DB_FKEY"));
|
dataBridge.setFName(rs.getString("DB_FNAME"));
|
dataBridge.setValue(rs.getString("DB_VALUE"));
|
dataBridge.setDateTime(rs.getTimestamp("DB_DATETIME"));
|
dataBridgeList.add(dataBridge);
|
}
|
return dataBridgeList;
|
} catch (Exception e) {
|
log.error("三厂数字化报警查询异常:" + e.getMessage());
|
return dataBridgeList;
|
} finally {
|
try {
|
conn.close();
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|