ard-work/pom.xml
@@ -184,5 +184,24 @@ <artifactId>commons-discovery</artifactId> <version>0.5</version> </dependency> <!-- <!– https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 –>--> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>23.3.0.23.09</version> </dependency> <!-- orai18n --> <dependency> <groupId>cn.easyproject</groupId> <artifactId>orai18n</artifactId> <version>12.1.0.2.0</version> </dependency> <!-- <dependency>--> <!-- <groupId>com.alibaba</groupId>--> <!-- <artifactId>druid</artifactId>--> <!-- <version>1.2.15</version>--> <!-- <scope>compile</scope>--> <!-- </dependency>--> </dependencies> </project> ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java
@@ -14,6 +14,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.utils.data.Query; import com.ruoyi.utils.pagehelper.JpaPageInfo; import com.ruoyi.utils.result.Results; import io.swagger.annotations.Api; @@ -226,4 +227,10 @@ return AjaxResult.success(jpaPageInfo); } @GetMapping("/getRTUDataYJ8") @ApiOperation("查询设备运行状态") public AjaxResult getRTUDataYJ8(String wellId){ return AjaxResult.success(Query.getRTUDataYJ8(wellId)); } } ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/RTU_DATA_YJ_8.java
New file @@ -0,0 +1,40 @@ package com.ruoyi.alarmpoints.well.domain; import lombok.Data; import java.util.Date; @Data public class RTU_DATA_YJ_8 { private String JH; private Date RQ; private Integer MAT; private Integer TGP; private Integer CPV; private Integer ADL; private Integer ADY; private Integer BDL; private Integer BDY; private Integer CDL; private Integer CDY; private Integer UCV; private Integer DCV; private Integer SLV; private Integer CHC; private Integer BPV; private Integer ZWG; private Integer ZYG; private Integer GYS; private Integer UWL; private Integer DWL; private String TIME; private Date LRSJ; private Integer XT; private Integer SCSJ; private Integer SCSL; private Integer MLV; private Integer DLV; private Integer XY; private Integer NJU; private Integer ZHS; } ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/RTU_DATA_YJ_8Mapper.java
New file @@ -0,0 +1,9 @@ package com.ruoyi.alarmpoints.well.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.alarmpoints.well.domain.RTU_DATA_YJ_8; @DS("orcl") public interface RTU_DATA_YJ_8Mapper extends BaseMapper<RTU_DATA_YJ_8> { } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/RTU_DATA_YJ_8Service.java
New file @@ -0,0 +1,13 @@ package com.ruoyi.alarmpoints.well.service; import com.ruoyi.alarmpoints.well.domain.RTU_DATA_YJ_8; import java.util.List; /** * @author Administrator */ public interface RTU_DATA_YJ_8Service { List<RTU_DATA_YJ_8> all(); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/RTU_DATA_YJ_8MapperServiceImpl.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.alarmpoints.well.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; import com.ruoyi.alarmpoints.well.domain.RTU_DATA_YJ_8; import com.ruoyi.alarmpoints.well.mapper.RTU_DATA_YJ_8Mapper; import com.ruoyi.alarmpoints.well.service.RTU_DATA_YJ_8Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @DS("orcl") @Service public class RTU_DATA_YJ_8MapperServiceImpl implements RTU_DATA_YJ_8Service { @Autowired private RTU_DATA_YJ_8Mapper rtu_data_yj_8Mapper; @Override public List<RTU_DATA_YJ_8> all() { return rtu_data_yj_8Mapper.selectList(null); } } ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -451,4 +451,19 @@ return AjaxResult.success("获取地址成功!",sysConfigService.selectConfigByKey("threeOneVideo")); } @PreAuthorize("@ss.hasPermi('sy:syCar:getAlarmHPfmCountDetail')") @PostMapping("getAlarmHPfmCountDetail") @ApiOperation("根据车辆和时间段查询报警历史记录详情") public AjaxResult getAlarmHPfmCountDetail(@RequestBody Map<String,String> map){ String usersId = SecurityUtils.getUserId(); ArdSyUser ardSyUser = iArdSyUserService.userById(usersId); String carId = map.get("carId"); String startTime = map.get("startTime"); String endTime = map.get("endTime"); String syURL = sysConfigService.getSYURL(); String sessionId = ardSyCarService.getSessionId(syURL,ardSyUser); Map<String, Object> mapDetail = ardSyCarService.getAlarmHPfmCountDetail(sessionId,usersId,carId,startTime,endTime,syURL); return AjaxResult.success(mapDetail); } } ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -159,4 +159,6 @@ List<ArdSyCar> all(); Map<String, Object> getAlarmHPfmCountDetail(String sessionId,String usersId,String carId,String startTime,String endTime,String syURL); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -1222,4 +1222,10 @@ return ardSyCarMapper.selectList(queryWrapper); } @Override public Map<String, Object> getAlarmHPfmCountDetail(String sessionId, String usersId, String carId, String startTime, String endTime, String syURL) { // System.out.println("sessionId------"+sessionId+",usersId-----"+usersId+",carId-----"+carId+",startTime----"+startTime+",endTime----"+endTime+",syURL----"+syURL); return sYClient.getAlarmHPfmCountDetail(syURL,carId,sessionId,startTime,endTime); } } ard-work/src/main/java/com/ruoyi/utils/data/Conn.java
New file @@ -0,0 +1,91 @@ package com.ruoyi.utils.data; import java.sql.*; public class Conn { //jdbc连接需要用到的三个参数 private String url="jdbc:oracle:thin:@112.98.126.2:21521:orcl"; private String user="c##ard_user"; private String pwd="123456"; //创建一个对象 设置为静态私有 (单例模式) private static Conn gc=null; //将构造函数设为private型 防止外部实例化对象 (通过反射或反序列化可以破解单例) private Conn(){}; //静态代码块,在类加载进内存时就完成对对象的特殊的初始化(这个动作发生在类的构造器执行之前,也就是在没有对象存在的情况下,静态代码就已经完成了对对象的特殊的处理 ),此处的作用是,当jdbc的驱动器加载时,就自动创建一个自己。 static{ try { //注册驱动 Class.forName("oracle.jdbc.OracleDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //判断GetConn实例化的对象是否存在 不存在就实例化一个 //synchronized 线程锁 防止多个线程抢占资源 防止死锁 public static Conn getGc(){ if(gc==null){ synchronized (Conn.class) { if(gc==null){ gc=new Conn(); } } } return gc; } //返回一个Connection连接 public Connection getCon() throws SQLException { return DriverManager.getConnection(url, user, pwd); } //释放资源 public void closeAll(ResultSet rs, Statement st, Connection con){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(st!=null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(con!=null){ try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } } if(st!=null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(con!=null){ try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } } ard-work/src/main/java/com/ruoyi/utils/data/Query.java
New file @@ -0,0 +1,85 @@ package com.ruoyi.utils.data; import com.ruoyi.alarmpoints.well.domain.RTU_DATA_YJ_8; 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 = "orcl") public class Query { static Connection conn = null; static Statement st = null; static ResultSet rs = null; public static List<RTU_DATA_YJ_8> getRTUDataYJ8(String wellId) { List<RTU_DATA_YJ_8> 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 RTU_DATA_YJ_8 where 1=1 "; sbd.append(sql); if (wellId != null) { sbd.append(" and JH ='" + wellId+"'"); } //4、执行sql语句并且换回一个查询的结果集 rs = st.executeQuery(sbd.toString()); while (rs.next()) { //循环遍历结果集 RTU_DATA_YJ_8 rtu_data_yj_8 = new RTU_DATA_YJ_8(); rtu_data_yj_8.setJH(rs.getString("JH")); rtu_data_yj_8.setRQ(rs.getDate("RQ")); rtu_data_yj_8.setMAT(rs.getInt("MAT")); rtu_data_yj_8.setTGP(rs.getInt("TGP")); rtu_data_yj_8.setCPV(rs.getInt("CPV")); rtu_data_yj_8.setADL(rs.getInt("ADL")); rtu_data_yj_8.setADY(rs.getInt("ADY")); rtu_data_yj_8.setBDL(rs.getInt("BDL")); rtu_data_yj_8.setBDL(rs.getInt("BDL")); rtu_data_yj_8.setCDL(rs.getInt("CDL")); rtu_data_yj_8.setCDY(rs.getInt("CDY")); rtu_data_yj_8.setUCV(rs.getInt("UCV")); rtu_data_yj_8.setDCV(rs.getInt("DCV")); rtu_data_yj_8.setSLV(rs.getInt("SLV")); rtu_data_yj_8.setCHC(rs.getInt("CHC")); rtu_data_yj_8.setBPV(rs.getInt("BPV")); rtu_data_yj_8.setZWG(rs.getInt("ZWG")); rtu_data_yj_8.setZYG(rs.getInt("ZYG")); rtu_data_yj_8.setGYS(rs.getInt("GYS")); rtu_data_yj_8.setUWL(rs.getInt("UWL")); rtu_data_yj_8.setDWL(rs.getInt("DWL")); rtu_data_yj_8.setTIME(rs.getString("TIME")); rtu_data_yj_8.setLRSJ(rs.getDate("LRSJ")); rtu_data_yj_8.setXT(rs.getInt("XT")); rtu_data_yj_8.setSCSJ(rs.getInt("SCSJ")); rtu_data_yj_8.setSCSL(rs.getInt("SCSL")); rtu_data_yj_8.setMLV(rs.getInt("MLV")); rtu_data_yj_8.setDLV(rs.getInt("DLV")); rtu_data_yj_8.setDLV(rs.getInt("DLV")); rtu_data_yj_8.setXY(rs.getInt("XY")); rtu_data_yj_8.setNJU(rs.getInt("NJU")); rtu_data_yj_8.setZHS(rs.getInt("ZHS")); dataBridgeList.add(rtu_data_yj_8); } return dataBridgeList; } catch (Exception e) { log.error("设备运行状态查询异常:" + e.getMessage()); return dataBridgeList; } finally { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java
@@ -39,4 +39,6 @@ @Get(url = "${syURL}/gps-web/api/video/realplay.jsp?username=${username}&password=${password}&plate=${plate}&color=${color}") Map<String,Object> getVideo(@Var("syURL") String syURL, @Var("username") String username,@Var("password") String password,@Var("plate") String plate,@Var("color") Integer color); @Get(url = "${syURL}/gps-web/api/get_alarm_h_pfm_detail.jsp?carId=${carId}&startTime=${startTime}&endTime=${endTime}&typeIds=&speed=&duration=&alarmSrcs=&alarmLevels=1&sessionId=${sessionId}") Map<String,Object> getAlarmHPfmCountDetail(@Var("syURL") String syURL, @Var("carId") String carId,@Var("sessionId") String sessionId,@Var("startTime") String startTime,@Var("endTime") String endTime); }