change(record/EmsRecordSteamInstantServiceImpl): 沈阳博泰(monitor_code为E0003_0017)的大于50度小于130度的温度数据都加上80度

master
zangch@mesnac.com 1 month ago
parent c9f1cac68f
commit 4706e1d82b

@ -20,6 +20,13 @@ import com.os.ems.record.service.IEmsRecordSteamInstantService;
*/
@Service
public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantService {
//沈阳博泰(monitor_code为E0003_0017)的大于50度小于130度的温度数据都加上80度
private static final String YANG_BOTAI_MONITOR_CODE = "E0003_0017";
private static final BigDecimal YANG_BOTAI_MIN_TEMPERATURE = BigDecimal.valueOf(50);
private static final BigDecimal YANG_BOTAI_MAX_TEMPERATURE = BigDecimal.valueOf(130);
private static final BigDecimal YANG_BOTAI_TEMPERATURE_OFFSET = BigDecimal.valueOf(80);
@Autowired
private EmsRecordSteamInstantMapper emsRecordSteamInstantMapper;
@ -42,7 +49,10 @@ public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantS
*/
@Override
public List<EmsRecordSteamInstant> selectEmsRecordSteamInstantList(EmsRecordSteamInstant emsRecordSteamInstant) {
return emsRecordSteamInstantMapper.selectEmsRecordSteamInstantList(emsRecordSteamInstant);
List<EmsRecordSteamInstant> steamInstantList = emsRecordSteamInstantMapper
.selectEmsRecordSteamInstantList(emsRecordSteamInstant);
steamInstantList.forEach(this::adjustYangBotaiTemperature);
return steamInstantList;
}
/**
@ -119,6 +129,7 @@ public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantS
emsRecordSteamInstants = emsRecordSteamInstantMapper
.selectEmsRecordLatestSteamInstantListByMonitorCode(emsRecordSteamInstant).subList(0, 1);
}
emsRecordSteamInstants.forEach(this::adjustYangBotaiTemperature);
//返回查询结果
return emsRecordSteamInstants;
}
@ -134,4 +145,23 @@ public class EmsRecordSteamInstantServiceImpl implements IEmsRecordSteamInstantS
return emsRecordSteamInstantMapper.selectEmsRecordSteamInstantListByTime(emsRecordSteamInstant);
}
private void adjustYangBotaiTemperature(EmsRecordSteamInstant steamInstant)
{
if (steamInstant == null || steamInstant.getTemperature() == null)
{
return;
}
if (!YANG_BOTAI_MONITOR_CODE.equals(steamInstant.getMonitorCode()))
{
return;
}
BigDecimal temperature = steamInstant.getTemperature();
if (temperature.compareTo(YANG_BOTAI_MIN_TEMPERATURE) > 0
&& temperature.compareTo(YANG_BOTAI_MAX_TEMPERATURE) < 0)
{
// 沈阳博泰该测点温度存在固定偏移,仅在查询返回时补偿 80 度,避免改写原始实时采集数据。
steamInstant.setTemperature(temperature.add(YANG_BOTAI_TEMPERATURE_OFFSET));
}
}
}

Loading…
Cancel
Save