|
|
|
|
@ -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));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|