Explorar el Código

[task-2813]深圳三院-温控对接

szjbdgzl hace 1 año
padre
commit
6500bcf3fa

+ 11 - 13
exchange/src/main/java/com/jyxt/thridparty/exchange/ExchangeApplication.java

@@ -1,7 +1,6 @@
 package com.jyxt.thridparty.exchange;
 
 import com.jyxt.thridparty.exchange.bx.VendorBinxiang;
-import com.jyxt.thridparty.exchange.bx.entity.TWsdyjjlb;
 import com.jyxt.thridparty.exchange.bx.repository.BinxiangRepository;
 import com.jyxt.thridparty.exchange.bx.repository.VendorBinxiangRepository;
 import org.slf4j.Logger;
@@ -10,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.scheduling.annotation.EnableScheduling;
 
 import java.util.List;
 
@@ -44,17 +42,17 @@ public class ExchangeApplication implements CommandLineRunner {
                 }
             }
         }
-        List<TWsdyjjlb> alarm = vendorBinxiangRepository.getAlarmData();
-        if(alarm != null){
-            for (TWsdyjjlb bx : alarm) {
-                try {
-                    binxiangRepository.saveAlarm(bx);
-                    log.info(String.format("save a alarm new id with: %s",bx.getId()));
-                }catch (Exception ex){
-                    log.error(ex.getMessage());
-                }
-            }
-        }
+//        List<TWsdyjjlb> alarm = vendorBinxiangRepository.getAlarmData();
+//        if(alarm != null){
+//            for (TWsdyjjlb bx : alarm) {
+//                try {
+//                    binxiangRepository.saveAlarm(bx);
+//                    log.info(String.format("save a alarm new id with: %s",bx.getId()));
+//                }catch (Exception ex){
+//                    log.error(ex.getMessage());
+//                }
+//            }
+//        }
 
     }
 }

+ 10 - 0
exchange/src/main/java/com/jyxt/thridparty/exchange/bx/VendorBinxiang.java

@@ -31,6 +31,16 @@ public class VendorBinxiang {
 
     private String area;
 
+    private String diDian;
+
+    public String getDiDian() {
+        return diDian;
+    }
+
+    public void setDiDian(String diDian) {
+        this.diDian = diDian;
+    }
+
     public String getType() {
         return type;
     }

+ 4 - 5
exchange/src/main/java/com/jyxt/thridparty/exchange/bx/repository/BinxiangRepository.java

@@ -3,14 +3,12 @@ package com.jyxt.thridparty.exchange.bx.repository;
 import com.jyxt.thridparty.exchange.bx.VendorBinxiang;
 import com.jyxt.thridparty.exchange.bx.entity.TWsdyjjlb;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.PreparedStatementCreator;
 import org.springframework.stereotype.Repository;
 
 import java.sql.*;
 import java.time.Instant;
-import java.util.Calendar;
 
 @Repository
 public class BinxiangRepository {
@@ -21,8 +19,8 @@ public class BinxiangRepository {
     public void saveWsd(final VendorBinxiang bx){
         //sql语句
         final String sql = "insert into t_dsfbxwdjl (id_,create_time_,cai_ji_shi_jian_,wen_du_,shi_du_,bing_xiang_id_,bing_xiang_ming_c,cai_ji_qi_id_," +
-                "cai_ji_qi_ming_ch,wen_du_shang_xian,wen_du_xia_xian_,shi_yan_zu_,shi_yan_zu_id_,shi_du_shang_xian,shi_du_xia_xian_,type_,area_)" +
-                " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
+                "cai_ji_qi_ming_ch,wen_du_shang_xian,wen_du_xia_xian_,shi_yan_zu_,shi_yan_zu_id_,shi_du_shang_xian,shi_du_xia_xian_,type_,area_,di_dian_)" +
+                " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
         jdbcTemplate.update(new PreparedStatementCreator() {
             public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                 PreparedStatement prepareStatement = connection.prepareStatement(sql);
@@ -43,6 +41,7 @@ public class BinxiangRepository {
                 prepareStatement.setString(15,bx.getShiduDown());
                 prepareStatement.setString(16,bx.getType());
                 prepareStatement.setString(17,bx.getArea());
+                prepareStatement.setString(18,bx.getDiDian());
                 return prepareStatement;
             }
         });
@@ -53,7 +52,7 @@ public class BinxiangRepository {
         //sql语句
         final String sql = "insert into t_wsdyjjlb (id,createTime,mainSerial,deviceTitle,serial,serialTitle,message,value,dataTime," +
                 "sendTime,tSign,eventField,isNormalNotification,level,isHandled,alarmReason,solution,handledBy,handledTime)" +
-                " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?.?) ";
+                " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
         jdbcTemplate.update(new PreparedStatementCreator() {
             public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                 PreparedStatement prepareStatement = connection.prepareStatement(sql);

+ 13 - 11
exchange/src/main/java/com/jyxt/thridparty/exchange/bx/repository/VendorBinxiangRepository.java

@@ -16,9 +16,6 @@ import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.stereotype.Repository;
 
-import java.nio.charset.StandardCharsets;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
 import java.time.Instant;
 import java.time.ZoneId;
 import java.time.LocalDateTime;
@@ -117,6 +114,7 @@ public class VendorBinxiangRepository {
                                         bx.setShiyanzhuId(wenDu.getDeptId_());
                                         bx.setType(wenDu.getDeviceType_());
                                         bx.setArea(wenDu.getArea_());
+                                        bx.setDiDian(wenDu.getDiDian_());
                                     }
                                     EquipRelation shiDu = getWsdRange(twksbpzb.getDeviceNo_(),"湿度");
                                     if (shiDu != null){
@@ -126,6 +124,7 @@ public class VendorBinxiangRepository {
                                         bx.setShiyanzhuId(shiDu.getDeptId_());
                                         bx.setType(shiDu.getDeviceType_());
                                         bx.setArea(shiDu.getArea_());
+                                        bx.setDiDian(shiDu.getDiDian_());
                                     }
                                     bxSet.add(bx);
                                 }
@@ -152,6 +151,7 @@ public class VendorBinxiangRepository {
                                         bx.setShiyanzhuId(wenDu.getDeptId_());
                                         bx.setType(wenDu.getDeviceType_());
                                         bx.setArea(wenDu.getArea_());
+                                        bx.setDiDian(wenDu.getDiDian_());
                                         bxSet.add(bx);
                                     }
                                 }
@@ -178,6 +178,7 @@ public class VendorBinxiangRepository {
                 er.setArea_(rs.getString("area_"));
                 er.setDeptId_(rs.getString("dept_id_"));
                 er.setDeptName_(rs.getString("dept_name_"));
+                er.setDiDian_(rs.getString("di_dian_"));
                 return er;
             });
         } catch (Exception e) {
@@ -197,14 +198,14 @@ public class VendorBinxiangRepository {
         LocalDateTime now = LocalDateTime.now();
         long endTime = LocalDateTime.of(now.getYear(), now.getMonthValue(), now.getDayOfMonth(), now.getHour(), now.getMinute()).
                 atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
-        long startTime = LocalDateTime.of(now.getYear(), now.getMonthValue(), 2, 17, 0).
+        long startTime = LocalDateTime.of(now.getYear(), now.getMonthValue(), 5, 13, 0).
                 atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
         params.put("starttime",String.valueOf(startTime));
         params.put("endtime",String.valueOf(endTime));
-        params.put("tsign","1");
+        params.put("tsign","0");
         params.put("eventfield","temperature");
         params.put("level","1,2,3,4,5");
-        params.put("isnormalnotification","0");
+        params.put("isnormalnotification","1");
         String sql = "SELECT device_no_,serial_no_ from equip_relation WHERE enable_='是' GROUP BY device_no_";
         RowMapper<EquipRelation> infoRowMapper = new BeanPropertyRowMapper<>(EquipRelation.class);
         List<EquipRelation> list = jdbcTemplate.query(sql, infoRowMapper);
@@ -213,8 +214,8 @@ public class VendorBinxiangRepository {
         for(EquipRelation twksbpzb : list){
             params.put("mainserial",twksbpzb.getDeviceNo_());
             params.put("serial",twksbpzb.getSerialNo_());
-            String paramStr = "_endtime_"+endTime+"_eventfield_"+"temperature"+"_isnormalnotification_"+"0"+"_level_"+"1,2,3,4,5"
-                    +"_mainserial_"+twksbpzb.getDeviceNo_()+"_serial_"+twksbpzb.getSerialNo_()+"_starttime_"+startTime+"_tsign_"+"1_";
+            String paramStr = "_endtime_"+endTime+"_eventfield_"+"temperature"+"_isnormalnotification_"+"1"+"_level_"+"1,2,3,4,5"
+                    +"_mainserial_"+twksbpzb.getDeviceNo_()+"_serial_"+twksbpzb.getSerialNo_()+"_starttime_"+startTime+"_tsign_"+"0_";
             String origin = equipAppKey + paramStr + second + "_" + equipAppSecret;
             String sign = DigestUtil.md5Hex(origin).toUpperCase();
             headers.put("sign",sign);
@@ -223,10 +224,11 @@ public class VendorBinxiangRepository {
             if (reposn.get("status").equals("0000")){
                 JSONArray data = reposn.getJSONArray("data");
                 if(!data.isEmpty()){
+                    log.warn("alarm:{}",result);
                     for(Object object : data){
                         JSONObject alarm = (JSONObject) object;
                         TWsdyjjlb wsdyjjlb = new TWsdyjjlb();
-                        wsdyjjlb.setId(alarm.getString("serial")+alarm.getInteger("dataTime"));
+                        wsdyjjlb.setId(alarm.getString("serial")+"-"+alarm.getInteger("dataTime"));
                         wsdyjjlb.setMainserial(alarm.getString("mainSerial"));
                         wsdyjjlb.setDevicetitle(alarm.getString("deviceTitle"));
                         wsdyjjlb.setSerial(alarm.getString("serial"));
@@ -237,11 +239,11 @@ public class VendorBinxiangRepository {
                         String sendTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(alarm.getInteger("sendTime")), ZoneId.systemDefault()).format(formatter);
                         wsdyjjlb.setDatatime(dataTime);
                         wsdyjjlb.setSendtime(sendTime);
-                        wsdyjjlb.setTsign(alarm.get("tsign").toString());
+                        wsdyjjlb.setTsign(alarm.getInteger("tSign")==0?"0":alarm.getString("tSign"));
                         wsdyjjlb.setEventfield(alarm.getString("eventField"));
                         wsdyjjlb.setIsnormalnotification(alarm.getString("isNormalNotification"));
                         wsdyjjlb.setLevel(alarm.getString("level"));
-                        wsdyjjlb.setIshandled(alarm.get("isHandled").toString());
+                        wsdyjjlb.setIshandled(alarm.getInteger("isHandled")==0?"0":alarm.getString("isHandled"));
                         wsdyjjlb.setAlarmreason(alarm.getString("alarmReason"));
                         wsdyjjlb.setSolution(alarm.getString("solution"));
                         wsdyjjlb.setHandledby(alarm.getString("handledBy"));

+ 2 - 1
exchange/src/main/resources/application.properties

@@ -18,4 +18,5 @@ humiture.latest=/device/latest
 # \u5386\u53F2\u6570\u636E
 humiture.history=/device/history
 humiture.appKey=JBXEVMVCK
-humiture.appSecret=8dN3ZaoPO05OZevtadsm
+humiture.appSecret=8dN3ZaoPO05OZevtadsm
+