调整设备重复查询

This commit is contained in:
zy 2026-03-20 16:10:05 +08:00
parent 892adffabe
commit 8e21e73290
6 changed files with 35 additions and 17 deletions

View File

@ -14,6 +14,8 @@ public interface ISurvTransdataLivestockwaterService extends IService<SurvTransd
SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode);
SurvTransdataLivestockwater getOneByDeviceId(String deployId);
void saveBaowen(String str, SurvDeviceDeploy deploy);

View File

@ -15,6 +15,8 @@ public interface ISurvTransdataOrientwaterService extends IService<SurvTransdata
SurvTransdataOrientwater getOneByDeviceCode(String deviceCode);
SurvTransdataOrientwater getOneByDeviceId(String deployId);
void saveBaowen(String str, SurvDeviceDeploy deploy);

View File

@ -189,10 +189,10 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
if(deploy!=null && dataExamineDetail!=null){
if(dataExamineDetail.getRules()!=null && !dataExamineDetail.getRules().isEmpty()) {
String deployCode = deploy.getDeployCode();
String deployId = deploy.getId();
try {
SurvTransdataLivestockwater newestData = survTransdataLivestockwaterServiceImpl.getOneByDeviceCode(deployCode);
SurvTransdataLivestockwater newestData = survTransdataLivestockwaterServiceImpl.getOneByDeviceId(deployId);
String orgId = null;
if (newestData != null) {
@ -242,13 +242,13 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
if (newestData == null) {
newestData = new SurvTransdataLivestockwater();
SurvHisdataLivestockwater hisData = getRecentData(deployCode,dataExamineDetail.getHistoryRange());
SurvHisdataLivestockwater hisData = getRecentData(deployId,dataExamineDetail.getHistoryRange());
if(hisData!=null){ //第一逻辑如果有最近的历史数据则使用历史数据作为基准值
XxlJobHelper.log("=====设备:{}===查询到历史数据,使用历史数据作为基准值==========",deployCode);
XxlJobHelper.log("=====设备:{}===查询到历史数据,使用历史数据作为基准值==========",deployId);
BeanUtil.copyProperties(hisData,newestData);
hisdataLivestockwater.setRuleType(IotConstants.RULE_HISTORY);
}else{//第二逻辑使用预设的标准值
XxlJobHelper.log("=====设备:{}===使用预设标准值进行生成==========",deployCode);
XxlJobHelper.log("=====设备:{}===使用预设标准值进行生成==========",deployId);
for (String s : ruleMap.keySet()) {
TUtil.setFieldValue(newestData, s, ruleMap.get(s).getStandard());
}
@ -280,7 +280,7 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
hisdataLivestockwater.setDataDateTime(nowTime);
hisdataLivestockwater.setDataGatherType(IotConstants.MARK_GENDATA);
hisdataLivestockwater.setDeployCode(deployCode);
hisdataLivestockwater.setDeployCode(deploy.getDeployCode());
hisdataLivestockwater.setFirstValveStatus("0");
hisdataLivestockwater.setSecondValveStatus("1");
hisdataLivestockwater.setCrashStopStatus("0");
@ -344,10 +344,10 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdat
return null;
}
private SurvHisdataLivestockwater getRecentData(String deployCode,Integer dayRange) {
private SurvHisdataLivestockwater getRecentData(String deployId,Integer dayRange) {
LocalDateTime daysAgo = LocalDateTime.now().minusDays(dayRange);
SurvHisdataLivestockwater oldWater = lambdaQuery()
.eq(SurvHisdataLivestockwater::getDeployCode,deployCode)
.eq(SurvHisdataLivestockwater::getDeviceId,deployId)
.ge(SurvHisdataLivestockwater::getDataDateTime, DateTimeConverter.toDate(daysAgo))
.orderByDesc(SurvHisdataLivestockwater::getDataDateTime)
.last("limit 1")

View File

@ -209,9 +209,9 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
if(deploy!=null && config!=null) {
if (config.getRules() != null && !config.getRules().isEmpty()) {
try {
String deployCode = deploy.getDeployCode();
log.warn("=================new面源逻辑====================" + deployCode);
SurvTransdataOrientwater newestData = orientwaterService.getOneByDeviceCode(deployCode);
String deployId = deploy.getId();
log.warn("=================new面源逻辑====================" + deployId);
SurvTransdataOrientwater newestData = orientwaterService.getOneByDeviceId(deployId);
String orgId = null;
if (newestData != null) {
@ -261,14 +261,14 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
if (newestData == null) {
newestData = new SurvTransdataOrientwater();
SurvHisdataOrientwater hisData = getRecentData(deployCode,config.getHistoryRange());
SurvHisdataOrientwater hisData = getRecentData(deployId,config.getHistoryRange());
if(hisData!=null){ //第一逻辑如果有最近的历史数据则使用历史数据作为基准值
XxlJobHelper.log("=====设备:{}===查询到历史数据,使用历史数据作为基准值==========",deployCode);
XxlJobHelper.log("=====设备:{}===查询到历史数据,使用历史数据作为基准值==========",deploy.getId());
BeanUtil.copyProperties(hisData,newestData);
hisdataOrientwater.setRuleType(IotConstants.RULE_HISTORY);
}else{//第二逻辑使用预设的标准值
XxlJobHelper.log("=====设备:{}===使用预设标准值进行生成==========",deployCode);
XxlJobHelper.log("=====设备:{}===使用预设标准值进行生成==========",deploy.getId());
for (String s : ruleMap.keySet()) {
TUtil.setFieldValue(newestData, s, ruleMap.get(s).getStandard());
}
@ -300,7 +300,7 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
hisdataOrientwater.setDataDateTime(nowTime);
hisdataOrientwater.setDataGatherType(IotConstants.MARK_GENDATA);
hisdataOrientwater.setDeployCode(deployCode);
hisdataOrientwater.setDeployCode(deploy.getDeployCode());
hisdataOrientwater.setFirstValveStatus("0");
hisdataOrientwater.setSecondValveStatus("1");
@ -367,10 +367,10 @@ public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOr
private SurvHisdataOrientwater getRecentData(String deployCode,Integer dayRange) {
private SurvHisdataOrientwater getRecentData(String deployId,Integer dayRange) {
LocalDateTime daysAgo = LocalDateTime.now().minusDays(dayRange);
SurvHisdataOrientwater oldWater = lambdaQuery()
.eq(SurvHisdataOrientwater::getDeployCode,deployCode)
.eq(SurvHisdataOrientwater::getDeviceId,deployId)
.ge(SurvHisdataOrientwater::getDataDateTime, DateTimeConverter.toDate(daysAgo))
.orderByDesc(SurvHisdataOrientwater::getDataDateTime)
.last("limit 1")

View File

@ -52,6 +52,13 @@ public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl<SurvTran
return getOne(queryWrapper);
}
@Override
public SurvTransdataLivestockwater getOneByDeviceId(String deployId) {
QueryWrapper<SurvTransdataLivestockwater> queryWrapper = new QueryWrapper<SurvTransdataLivestockwater>();
queryWrapper.eq("DEVICE_ID",deployId).last("limit 1");
return getOne(queryWrapper);
}
@Override
@Transactional
public void saveBaowen(String str,SurvDeviceDeploy deploy) {

View File

@ -52,6 +52,13 @@ public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl<SurvTransda
return getOne(queryWrapper);
}
@Override
public SurvTransdataOrientwater getOneByDeviceId(String deployId) {
QueryWrapper<SurvTransdataOrientwater> queryWrapper = new QueryWrapper<SurvTransdataOrientwater>();
queryWrapper.eq("DEVICE_ID",deployId).last("limit 1");
return getOne(queryWrapper);
}
@Override
@Transactional
public void saveBaowen(String str, SurvDeviceDeploy deploy) {