IBPSRepository.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package com.jyxt.getdatabyview.view;
  2. import com.jyxt.getdatabyview.view.entity.CollectorEntity;
  3. import com.jyxt.getdatabyview.view.entity.MonitoredEntity;
  4. import com.jyxt.getdatabyview.view.entity.WSDEntity;
  5. import com.jyxt.getdatabyview.view.repository.LISViewRepository;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Qualifier;
  10. import org.springframework.beans.factory.annotation.Value;
  11. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  12. import org.springframework.jdbc.core.JdbcTemplate;
  13. import org.springframework.jdbc.core.PreparedStatementCreator;
  14. import org.springframework.jdbc.core.RowMapper;
  15. import org.springframework.stereotype.Repository;
  16. import java.sql.*;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. @Repository
  20. public class IBPSRepository {
  21. private static final Logger log = LoggerFactory.getLogger(LISViewRepository.class);
  22. @Autowired
  23. @Qualifier("secondJdbcTemplate")
  24. private JdbcTemplate jdbcTemplate;
  25. @Value("${config.testmode}")
  26. private String testmode;
  27. public List<String> getExistID(){
  28. List<String> existIDList = new ArrayList<String>();
  29. /**
  30. * 正式启用开启这一段
  31. * String existSql = "select id_ from t_dsfwsdjlb where Date(collectTime) = CURDATE()"
  32. */
  33. String existSql = "select id_ from t_dsfwsdjlb where Date(collectTime) = CURDATE()";
  34. existIDList = jdbcTemplate.queryForList(existSql, String.class);
  35. return existIDList;
  36. }
  37. public List<CollectorEntity> getCollectorlist(){
  38. RowMapper<CollectorEntity> collectorRowMapper = new BeanPropertyRowMapper<>(CollectorEntity.class);
  39. String collectorSql = "select deviceNo,deviceName,collectID,collectName,type from t_cjqsbglpzb where enable='1'";
  40. List<CollectorEntity> collectorList = jdbcTemplate.query(collectorSql, collectorRowMapper);
  41. return collectorList;
  42. }
  43. public void save(final WSDEntity wsdEntity){
  44. //sql语句
  45. final String sql = "insert into t_dsfwsdjlb (id_,create_time_,collectTime,result,resultHigh,resultLow,deviceNo,deviceName,collectID, "+
  46. "collectName,shiYanZu,note,type,area,di_dian_,room,controlFlag) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
  47. if((testmode.equals("1")) || (testmode.equals("2"))){
  48. log.info("pretend to insert: id:{},Res:{},ResH:{},ResL:{},DevName:{},ColID:{},ColName:{},ShiYanZu:{},Type:{},Flag:{}",
  49. wsdEntity.getId(),wsdEntity.getResult(),wsdEntity.getResultHigh(),wsdEntity.getResultLow(),wsdEntity.getDeviceName(),
  50. wsdEntity.getCollectID(),wsdEntity.getCollectName(),wsdEntity.getShiYanZu(),wsdEntity.getType(),wsdEntity.getControlFlag()
  51. );
  52. }
  53. if(testmode.equals("0")){
  54. log.info("ready to insert: id:{},Res:{},ResH:{},ResL:{},DevName:{},ColID:{},ColName:{},ShiYanZu:{},Type:{},Flag:{}",
  55. wsdEntity.getId(),wsdEntity.getResult(),wsdEntity.getResultHigh(),wsdEntity.getResultLow(),wsdEntity.getDeviceName(),
  56. wsdEntity.getCollectID(),wsdEntity.getCollectName(),wsdEntity.getShiYanZu(),wsdEntity.getType(),wsdEntity.getControlFlag()
  57. );
  58. jdbcTemplate.update(new PreparedStatementCreator() {
  59. public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
  60. PreparedStatement prepareStatement = connection.prepareStatement(sql);
  61. prepareStatement.setString(1,wsdEntity.getId());
  62. prepareStatement.setTimestamp(2, new java.sql.Timestamp(wsdEntity.getCreateTime().getTime()));
  63. prepareStatement.setTimestamp(3, new java.sql.Timestamp(wsdEntity.getCollectTime().getTime()));
  64. prepareStatement.setString(4,wsdEntity.getResult());
  65. prepareStatement.setString(5,wsdEntity.getResultHigh());
  66. prepareStatement.setString(6,wsdEntity.getResultLow());
  67. prepareStatement.setString(7,wsdEntity.getDeviceNo());
  68. prepareStatement.setString(8,wsdEntity.getDeviceName());
  69. prepareStatement.setString(9,wsdEntity.getCollectID());
  70. prepareStatement.setString(10,wsdEntity.getCollectName());
  71. prepareStatement.setString(11,wsdEntity.getShiYanZu());
  72. prepareStatement.setString(12,wsdEntity.getNote());
  73. prepareStatement.setString(13,wsdEntity.getType());
  74. prepareStatement.setString(14,wsdEntity.getArea());
  75. prepareStatement.setString(15,wsdEntity.getDiDian());
  76. prepareStatement.setString(16,wsdEntity.getRoom());
  77. prepareStatement.setString(17,wsdEntity.getControlFlag());
  78. return prepareStatement;
  79. }
  80. });
  81. }
  82. }
  83. public List<MonitoredEntity> getUndoFridgeList(String curdate) {
  84. List<MonitoredEntity> undoFridgeList = jdbcTemplate.query(
  85. "select * from t_bxwdjkjlb where date(create_time_)=? and shi_fou_guo_shen_='待处理'",
  86. new RowMapper<MonitoredEntity>() {
  87. @Override
  88. public MonitoredEntity mapRow(ResultSet rs, int rowNum) throws SQLException {
  89. MonitoredEntity entity = new MonitoredEntity();
  90. entity.setId(rs.getString("id_"));
  91. entity.setDeviceNo(rs.getString("bing_xiang_bian_h"));
  92. entity.setJsonStr(rs.getString("lie_biao_shu_ju_"));
  93. return entity;
  94. }
  95. },
  96. curdate // 使用预编译参数防止SQL注入
  97. );
  98. return undoFridgeList;
  99. }
  100. public List<WSDEntity> getWSDEntityList(String CurDate, String Type,String DeviceNo) {
  101. List<WSDEntity> wsdEntityList = jdbcTemplate.query(
  102. "select id,collectTime,collectID,collectName,shiYanZu,result,deviceNo,type,note,controlFlag from t_dsfwsdjlb where date(collectTime)=? and deviceNo=? order by collectTime desc",
  103. new RowMapper<WSDEntity>() {
  104. @Override
  105. public WSDEntity mapRow(ResultSet rs, int rowNum) throws SQLException {
  106. WSDEntity entity = new WSDEntity();
  107. entity.setId(rs.getString("id"));
  108. entity.setCollectTime(rs.getTimestamp("collectTime"));
  109. entity.setCollectID(rs.getString("collectID"));
  110. entity.setCollectName(rs.getString("collectName"));
  111. entity.setShiYanZu(rs.getString("shiYanZu"));
  112. entity.setResult(rs.getString("result"));
  113. entity.setDeviceNo(rs.getString("deviceNo"));
  114. entity.setType(rs.getString("type"));
  115. entity.setNote(rs.getString("note"));
  116. entity.setControlFlag(rs.getString("controlFlag"));
  117. return entity;
  118. }
  119. },
  120. CurDate,DeviceNo // 使用预编译参数防止SQL注入
  121. );
  122. return wsdEntityList;
  123. }
  124. /**
  125. * 20250619 huangws
  126. * 保存被监测设备的温湿度结果
  127. * 如果还没未完成的不会改变是否过审的状态
  128. * @param undoMonitorID
  129. * @param hasFinished
  130. * @param newJsonStr
  131. */
  132. public void saveMonitoredData(String undoMonitorID, String hasFinished, String newJsonStr){
  133. final String sql = hasFinished.equals("1")
  134. ? "update t_bxwdjkjlb set lie_biao_shu_ju_=?, update_time_=?, bei_zhu_='自动导入', shi_fou_guo_shen_='已完成' where id_=?"
  135. : "update t_bxwdjkjlb set lie_biao_shu_ju_=?, update_time_=?, bei_zhu_='自动导入' where id_=?";
  136. jdbcTemplate.update(new PreparedStatementCreator() {
  137. public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
  138. PreparedStatement prepareStatement = connection.prepareStatement(sql);
  139. prepareStatement.setString(1, newJsonStr);
  140. prepareStatement.setTimestamp(2, new Timestamp(System.currentTimeMillis())); // 设置当前时间
  141. prepareStatement.setString(3, undoMonitorID);
  142. return prepareStatement;
  143. }
  144. });
  145. }
  146. }