Browse Source

1、补水添加时控控制。

dev
25604 3 weeks ago
parent
commit
a680331eb2
  1. 4
      user-service/src/main/java/com/mh/user/job/DealDataJob.java
  2. 2
      user-service/src/main/java/com/mh/user/mapper/ControlSetMapper.java
  3. 11
      user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java
  4. 5
      user-service/src/main/java/com/mh/user/model/SerialPortModel.java
  5. 2
      user-service/src/main/java/com/mh/user/service/DeviceInstallService.java
  6. 2
      user-service/src/main/java/com/mh/user/service/impl/ControlSetServiceImpl.java
  7. 11
      user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java
  8. 5
      user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java
  9. 2
      user-service/src/main/resources/application-dev.yml
  10. 35
      user-service/src/main/resources/application-prod.yml
  11. 13
      user-service/src/main/resources/application-test.yml
  12. 2
      user-service/src/test/java/com/mh/user/UserServiceApplicationTests.java
  13. 24
      user-service/src/test/java/com/mh/user/device/CRC16Test.java

4
user-service/src/main/java/com/mh/user/job/DealDataJob.java

@ -180,9 +180,9 @@ public class DealDataJob {
} }
} }
// @Scheduled(cron = "0 0 0/1 * * ?") // @Scheduled(cron = "0 0 0/12 * * ?")
// public void preUseData() { // public void preUseData() {
// // 每时预测一次数据 // // 每12时预测一次数据
// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
// Date date = new Date(); // Date date = new Date();
// String curDate = sdf1.format(date); // String curDate = sdf1.format(date);

2
user-service/src/main/java/com/mh/user/mapper/ControlSetMapper.java

@ -74,7 +74,7 @@ public interface ControlSetMapper {
" device_install di " + " device_install di " +
" where " + " where " +
" di.building_id = building_id " + " di.building_id = building_id " +
" and di.device_name like concat(#{timeName}, '时控') " + " and di.device_name like concat('%',#{timeName}, '时控') " +
") ") ") ")
ControlSetEntity queryControlSet(@Param("buildingId") String buildingId, @Param("timeName") String timeName); ControlSetEntity queryControlSet(@Param("buildingId") String buildingId, @Param("timeName") String timeName);
} }

11
user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java

@ -251,9 +251,18 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
@Result(column = "device_name", property = "deviceName"), @Result(column = "device_name", property = "deviceName"),
@Result(column = "id", property = "id") @Result(column = "id", property = "id")
}) })
@Select("select * from device_install where building_id=#{buildingId} and device_type=#{deviceType}") @Select("select * from device_install where building_id=#{buildingId} and device_type=#{deviceType} ")
List<DeviceModel> selectDevices(@Param("buildingId") String buildingId, @Param("deviceType") String deviceType); List<DeviceModel> selectDevices(@Param("buildingId") String buildingId, @Param("deviceType") String deviceType);
//查询设备
@Results({
@Result(column = "device_addr",property = "deviceAddr" ),
@Result(column = "device_name", property = "deviceName"),
@Result(column = "id", property = "id")
})
@Select("select * from device_install where building_id=#{buildingId} and device_type=#{deviceType} and device_name like concat('%',#{deviceName},'时控')")
List<DeviceModel> selectDevicesByOthers(@Param("buildingId") String buildingId, @Param("deviceType") String deviceType, @Param("deviceName") String deviceName);
//修改故障状态 //修改故障状态
@Update("update device_install set is_fault=#{isFault} where device_addr=#{deviceAddr} and device_type=#{deviceType}") @Update("update device_install set is_fault=#{isFault} where device_addr=#{deviceAddr} and device_type=#{deviceType}")

5
user-service/src/main/java/com/mh/user/model/SerialPortModel.java

@ -20,6 +20,11 @@ public class SerialPortModel {
*/ */
private String deviceType; private String deviceType;
/**
* 设备名称
*/
private String deviceName;
/** /**
* 操作类型 * 操作类型
*/ */

2
user-service/src/main/java/com/mh/user/service/DeviceInstallService.java

@ -135,6 +135,8 @@ public interface DeviceInstallService {
//查询设备 //查询设备
List<DeviceModel> selectDevices(String buildingId,String deviceType); List<DeviceModel> selectDevices(String buildingId,String deviceType);
List<DeviceModel> selectDevicesByOthers(String buildingId,String deviceType, String deviceName);
//修改故障状态 //修改故障状态
void updateDeviceFault(String isFault, String deviceAddr, String deviceType); void updateDeviceFault(String isFault, String deviceAddr, String deviceType);

2
user-service/src/main/java/com/mh/user/service/impl/ControlSetServiceImpl.java

@ -29,7 +29,7 @@ public class ControlSetServiceImpl implements ControlSetService {
@Override @Override
public ControlSetEntity queryControlSet(String buildingId, String timeName) { public ControlSetEntity queryControlSet(String buildingId, String timeName) {
if (StringUtils.isBlank(timeName)) { if (StringUtils.isBlank(timeName)) {
timeName = "%"; return null;
} }
return controlSetMapper.queryControlSet(buildingId,timeName); return controlSetMapper.queryControlSet(buildingId,timeName);
} }

11
user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author LJF * @author LJF
@ -57,9 +58,17 @@ public class DeviceControlServiceImpl implements DeviceControlService {
String deviceType = serialPortModel.getDeviceType(); String deviceType = serialPortModel.getDeviceType();
String buildingId = serialPortModel.getBuildingId(); String buildingId = serialPortModel.getBuildingId();
String param = serialPortModel.getParam(); String param = serialPortModel.getParam();
String deviceName = serialPortModel.getDeviceName();
if (StringUtils.isBlank(deviceAddr)) { if (StringUtils.isBlank(deviceAddr)) {
List<DeviceModel> list = deviceInstallService.selectDevices(buildingId, deviceType); List<DeviceModel> list = null;
if (StringUtils.isBlank(deviceName)) {
list = deviceInstallService.selectDevices(buildingId, deviceType);
// 过滤掉deviceName='补水时控'的值
list = list.stream().filter(val -> !val.getDeviceName().equals("补水时控")).collect(Collectors.toList());
} else {
list = deviceInstallService.selectDevicesByOthers(buildingId, deviceType, deviceName);
}
deviceAddr = list.get(0).getDeviceAddr(); deviceAddr = list.get(0).getDeviceAddr();
} }
if (deviceAddr == null || deviceAddr.length() == 0) { if (deviceAddr == null || deviceAddr.length() == 0) {

5
user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java

@ -363,6 +363,11 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
return deviceInstallMapper.selectDevices(buildingId, deviceType); return deviceInstallMapper.selectDevices(buildingId, deviceType);
} }
@Override
public List<DeviceModel> selectDevicesByOthers(String buildingId, String deviceType, String deviceName) {
return deviceInstallMapper.selectDevicesByOthers(buildingId, deviceType, deviceName);
}
@Override @Override
public void updateDeviceFault(String isFault, String deviceAddr, String deviceType) { public void updateDeviceFault(String isFault, String deviceAddr, String deviceType) {
deviceInstallMapper.updateDeviceFault(isFault,deviceAddr,deviceType); deviceInstallMapper.updateDeviceFault(isFault,deviceAddr,deviceType);

2
user-service/src/main/resources/application-dev.yml

@ -8,7 +8,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
druid: druid:
#添加allowMultiQueries=true 在批量更新时才不会出错 #添加allowMultiQueries=true 在批量更新时才不会出错
url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_hx;allowMultiQueries=true url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_chx;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: sa username: sa
password: mh@803 password: mh@803

35
user-service/src/main/resources/application-prod.yml

@ -1,5 +1,5 @@
server: server:
port: 8762 #8761创新、8762广商、8763华厦、广州理工,华粤8762 port: 8762 #8761创新、8762广商、8763华厦、广州理工,华粤8762,广外8764
spring: spring:
application: application:
name: user-service name: user-service
@ -24,15 +24,15 @@ spring:
# username: chws # username: chws
# password: minghan123456@ # password: minghan123456@
#创新服务器 #创新服务器
# url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_chx;allowMultiQueries=true # url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=chws_chx;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws # username: chws_gsh
# password: mh@803 # password: Mhtech@803
# #广商服务器 # #广商服务器
# url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_gsh;allowMultiQueries=true # url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=chws_gsh;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws # username: chws_gsh
# password: mh@803 # password: Mhtech@803
#本机 #本机
# url: jdbc:sqlserver://127.0.0.1:9956;DatabaseName=CHWS;allowMultiQueries=true # url: jdbc:sqlserver://127.0.0.1:9956;DatabaseName=CHWS;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
@ -44,10 +44,25 @@ spring:
# username: sa # username: sa
# password: mh@803 # password: mh@803
#华粤服务器 #华粤服务器
url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_hy;allowMultiQueries=true # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_hy;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_hy
# password: huayue@803
#广外本地服务器
# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=chws_gw;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_gw
# password: chws_gw@803
url: jdbc:sqlserver://111.230.50.186:32012;DatabaseName=chws_gw;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: chws_hy username: chws_gw
password: huayue@803 password: chws_gw@803
# 华软江门
# url: jdbc:sqlserver://127.0.0.1:57238;DatabaseName=chws_jm;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_jm
# password: Mhtech@803
filters: stat,wall,config filters: stat,wall,config
max-active: 100 max-active: 100

13
user-service/src/main/resources/application-test.yml

@ -22,10 +22,10 @@ spring:
# username: chws # username: chws
# password: minghan123456@ # password: minghan123456@
#创新服务器 #创新服务器
url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_chx;allowMultiQueries=true # url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_chx;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: chws # username: chws
password: mh@803 # password: mh@803
#广商服务器 #广商服务器
# url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_gsh;allowMultiQueries=true # url: jdbc:sqlserver://119.29.33.133:2008;DatabaseName=chws_gsh;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
@ -41,6 +41,11 @@ spring:
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: sa # username: sa
# password: mh@803 # password: mh@803
# 测试
url: jdbc:sqlserver://106.55.173.225:57238;DatabaseName=test;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: test
password: Ming@ratuo123!!
filters: stat,wall,config filters: stat,wall,config
max-active: 100 max-active: 100

2
user-service/src/test/java/com/mh/user/UserServiceApplicationTests.java

@ -134,7 +134,7 @@ class UserServiceApplicationTests {
@Test @Test
public void testDealData() { public void testDealData() {
dealDataJob.dealData(); // dealDataJob.dealData();
} }
@Autowired @Autowired

24
user-service/src/test/java/com/mh/user/device/CRC16Test.java

@ -1,8 +1,11 @@
package com.mh.user.device; package com.mh.user.device;
import com.mh.common.utils.StringUtils;
import com.mh.user.utils.ExchangeStringUtil; import com.mh.user.utils.ExchangeStringUtil;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/** /**
* @Classname CRC16Test * @Classname CRC16Test
@ -66,12 +69,21 @@ public class CRC16Test {
} }
//测试 //测试
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
// c0a8020a1f90ff04fb0000000100010200000300000400000500000600000700140800000901cb0a00000b00000c00000d00000e00000f0000100000110025120000130910 String lastHourTime = "2020-06-03 01:00:00";
byte[] buffer; // lastHourTime转换成LocalDateTime
String string = "c0a8020a1f90ff02fd0000000100000200000300000400000500000600000700000800010900000a00780b00010c8c310d00000e00000f0000100000110022120000132d1e140000150000160000170001182c381900001a01a61b00001c00001d00011e00011f25cd20000121b1332200002300002400002500002600712700002834202900002a00002b00002c00002d00402e00002f0363a6ff"; LocalDateTime lastHour1 = null;
buffer = ExchangeStringUtil.HexString2Bytes(string); if(lastHourTime != null && !"".equals(lastHourTime)){
int crc16 = CRC16Test.calcCrc16(buffer,buffer.length); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(String.format("0x%04x", crc16));//0x7c09 lastHour1 = LocalDateTime.parse(lastHourTime, formatter);
System.out.println(lastHour1);
}
LocalDateTime now = lastHour1;
LocalDateTime lastHour = now.minusHours(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00");
lastHourTime = lastHour.format(formatter);
System.out.println(lastHourTime);
} }
} }

Loading…
Cancel
Save