Browse Source

1、华夏项目修改获取单箱温度;

dev
mh 6 months ago
parent
commit
20d08f3b55
  1. 3
      2024数据库脚本.sql
  2. 7
      user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java
  3. 2
      user-service/src/main/java/com/mh/user/mapper/NowDataMapper.java
  4. 7
      user-service/src/main/java/com/mh/user/service/DeviceInstallService.java
  5. 5
      user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java
  6. 21
      user-service/src/main/java/com/mh/user/strategy/HeatPumpStrategy.java

3
2024数据库脚本.sql

@ -205,3 +205,6 @@ EXEC sp_addextendedproperty 'MS_Description', N'补水状态', 'schema', N'dbo',
ALTER TABLE now_data ADD back_water_state varchar(50) NULL;
EXEC sp_addextendedproperty 'MS_Description', N'回水状态', 'schema', N'dbo', 'table', N'now_data', 'column', N'back_water_state';
-- 2024-11-19 添加是否是单箱
ALTER TABLE building ADD is_single_box bit NULL;
EXEC sp_addextendedproperty 'MS_Description', N'是否是单箱温度', 'schema', N'dbo', 'table', N'device_install', 'column', N'is_single_box';

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

@ -332,4 +332,11 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
@Param("lastValue") String strWtLevel,
@Param("deviceType") String deviceType,
@Param("buildingId") String buildingId);
@Select("select top 1 device_addr from device_install where device_type = '热泵' " +
" and is_single_box = 1 " +
" and building_id = #{buildingId}" +
" and device_addr = #{pumpId} ")
String selectSinglePumpId(@Param("buildingId") String buildingId,
@Param("pumpId") String pumpId);
}

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

@ -244,7 +244,7 @@ public interface NowDataMapper {
//求热泵平均温度
@Select("<script>" +
"select Convert(decimal(18,1),avg(CAST(water_temp as FLOAT))) from now_data where building_id=#{buildingId} " +
"select Convert(decimal(18,1),avg(CAST(water_temp as FLOAT))) from now_data where building_id=#{buildingId} and run_state != '离线' " +
"<if test='temp != null'>" +
" and water_temp >= #{temp} " +
"</if>" +

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

@ -183,4 +183,11 @@ public interface DeviceInstallService {
void deleteParamCode(DeviceInstallEntity oldEntity);
void updateLastValueByOther(String addr, String strWtLevel, String deviceType, String buildingId);
/**
* 获取单箱热泵id
* @param buildingId
* @return
*/
String selectSinglePumpId(String buildingId, String pumpId);
}

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

@ -454,5 +454,10 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
public void updateLastValueByOther(String addr, String strWtLevel, String deviceType, String buildingId) {
deviceInstallMapper.updateLastValueByOther(addr, strWtLevel, deviceType, buildingId);
}
@Override
public String selectSinglePumpId(String buildingId, String pumpId) {
return deviceInstallMapper.selectSinglePumpId(buildingId, pumpId);
}
}

21
user-service/src/main/java/com/mh/user/strategy/HeatPumpStrategy.java

@ -29,6 +29,7 @@ public class HeatPumpStrategy implements DeviceStrategy {
NowPublicDataService nowPublicDataService = context.getBean(NowPublicDataService.class);
PumpSetService pumpSetService = context.getBean(PumpSetService.class);
DeviceInstallService deviceInstallService = context.getBean(DeviceInstallService.class);
DealDataService dealDataService = context.getBean(DealDataService.class);
private static class SingletonHolder {
private static final HeatPumpStrategy INSTANCE = new HeatPumpStrategy();
@ -267,6 +268,11 @@ public class HeatPumpStrategy implements DeviceStrategy {
publicData.setUseWaterTemp(avgTemp);
publicData.setBackWaterTemp(avgTemp);
String pumpId = nowDataService.selectMinPumpId(buildingId);
// 如果是华夏,则取新增得字段标识为热泵ID
String name = dealDataService.customName();
if (name.contains(Constant.CUSTOM_NAME_HUAXIA)) {
pumpId = deviceInstallService.selectSinglePumpId(buildingId, addr);
}
log.info("---------------addr:" + addr + ",pumpId:" + pumpId + " ---------------");
if (addr.equals(pumpId)) { //取ID最小的热泵为单箱温度
publicData.setSingleTemp(sValue);
@ -345,6 +351,11 @@ public class HeatPumpStrategy implements DeviceStrategy {
// 回水温度
publicData.setBackWaterTemp(avgTemp);
String pumpId = nowDataService.selectMinPumpId(buildingId);
// 如果是华夏,则取新增得字段标识为热泵ID
String name = dealDataService.customName();
if (name.contains(Constant.CUSTOM_NAME_HUAXIA)) {
pumpId = deviceInstallService.selectSinglePumpId(buildingId, addr);
}
log.info("---------------addr:" + addr + ",pumpId:" + pumpId + " ---------------");
if (addr.equals(pumpId)) { //取ID最小的热泵为单箱温度
publicData.setSingleTemp(sValue);
@ -435,6 +446,11 @@ public class HeatPumpStrategy implements DeviceStrategy {
publicData.setUseWaterTemp(avgTemp);
publicData.setBackWaterTemp(avgTemp);
String pumpId = nowDataService.selectMinPumpId(buildingId);
// 如果是华夏,则取新增得字段标识为热泵ID
String name = dealDataService.customName();
if (name.contains(Constant.CUSTOM_NAME_HUAXIA)) {
pumpId = deviceInstallService.selectSinglePumpId(buildingId, addr);
}
if (addr.equals(pumpId)) { //取ID最小的热泵为单箱温度
publicData.setSingleTemp(sValue);
log.info("---------------单箱温度:" + sValue + "---------------");
@ -510,6 +526,11 @@ public class HeatPumpStrategy implements DeviceStrategy {
publicData.setUseWaterTemp(avgTemp);
publicData.setBackWaterTemp(avgTemp);
String pumpId = nowDataService.selectMinPumpId(buildingId);
// 如果是华夏,则取新增得字段标识为热泵ID
String name = dealDataService.customName();
if (name.contains(Constant.CUSTOM_NAME_HUAXIA)) {
pumpId = deviceInstallService.selectSinglePumpId(buildingId, addr);
}
log.info("---------------addr:" + addr + ",pumpId:" + pumpId + " ---------------");
if (addr.equals(pumpId)) { //取ID最小的热泵为单箱温度
publicData.setSingleTemp(sValue);

Loading…
Cancel
Save