refactor(service): 优化设备容量计算和事件处理逻辑
- 重构CsDevCapacityPOServiceImpl中的设备容量获取方法,简化代码逻辑并添加空值检查 - 在CsEquipmentDeliveryServiceImpl中添加二维码信息更新功能 - 优化CsEventPOServiceImpl中的事件处理,添加处理标志位设置和幅度值转换 - 增强CsFeedbackServiceImpl中的工程ID验证,防止空值异常 - 优化CsLinePOServiceImpl中的线路数据处理,统一设备ID格式化 - 移除无用的包导入并修复MQTT消息处理器中的大小写问题 - 更新离线数据上传服务中的等待逻辑和设备版本获取方式 - 修复InfluxDB查询中的值类型大小写问题
This commit is contained in:
@@ -50,7 +50,6 @@ public class OfflineDataUploadController extends BaseController {
|
||||
@PostMapping(value = "/makeUpData")
|
||||
@ApiOperation("补招数据-界面")
|
||||
@ApiImplicitParam(name = "lineId", value = "监测点id", required = true)
|
||||
@Deprecated
|
||||
public HttpResult<List<MakeUpVo>> makeUpData(@RequestParam("lineId") String lineId){
|
||||
String methodDescribe = getMethodDescribe("makeUpData");
|
||||
List<MakeUpVo> list = offlineDataUploadService.getMakeUpData(lineId);
|
||||
|
||||
@@ -137,21 +137,19 @@ public class MqttMessageHandler {
|
||||
FrequencyStatisticalQueryParam frequencyStatisticalQueryParam = new FrequencyStatisticalQueryParam();
|
||||
frequencyStatisticalQueryParam.setDevId(devId);
|
||||
frequencyStatisticalQueryParam.setStatisticalId(temp.getId());
|
||||
frequencyStatisticalQueryParam.setValueType("avg");
|
||||
frequencyStatisticalQueryParam.setValueType("AVG");
|
||||
frequencyStatisticalQueryParam.setFrequencyStart(temp.getHarmStart());
|
||||
frequencyStatisticalQueryParam.setFrequencyEnd(temp.getHarmEnd());
|
||||
List<ThdDataVO> thdDataVOList = stableDataService.QuerySqlData(frequencyStatisticalQueryParam);
|
||||
tempList.addAll(thdDataVOList);
|
||||
|
||||
} else {
|
||||
CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam();
|
||||
commonStatisticalQueryParam.setDevId(devId);
|
||||
commonStatisticalQueryParam.setStatisticalId(temp.getId());
|
||||
commonStatisticalQueryParam.setValueType("avg");
|
||||
commonStatisticalQueryParam.setValueType("AVG");
|
||||
List<ThdDataVO> listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam);
|
||||
tempList.addAll(listFuture);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//过滤T相
|
||||
@@ -185,7 +183,7 @@ public class MqttMessageHandler {
|
||||
CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam();
|
||||
commonStatisticalQueryParam.setDevId(devId);
|
||||
commonStatisticalQueryParam.setStatisticalId(temp.getId());
|
||||
commonStatisticalQueryParam.setValueType("avg");
|
||||
commonStatisticalQueryParam.setValueType("AVG");
|
||||
List<ThdDataVO> listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam);
|
||||
l1.addAll(listFuture);
|
||||
});
|
||||
@@ -224,7 +222,7 @@ public class MqttMessageHandler {
|
||||
CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam();
|
||||
commonStatisticalQueryParam.setDevId(devId);
|
||||
commonStatisticalQueryParam.setStatisticalId(temp.getId());
|
||||
commonStatisticalQueryParam.setValueType("avg");
|
||||
commonStatisticalQueryParam.setValueType("AVG");
|
||||
List<ThdDataVO> listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam);
|
||||
l1.addAll(listFuture);
|
||||
});
|
||||
@@ -265,7 +263,7 @@ public class MqttMessageHandler {
|
||||
CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam();
|
||||
commonStatisticalQueryParam.setDevId(devId);
|
||||
commonStatisticalQueryParam.setStatisticalId(temp.getId());
|
||||
commonStatisticalQueryParam.setValueType("avg");
|
||||
commonStatisticalQueryParam.setValueType("AVG");
|
||||
List<ThdDataVO> listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam);
|
||||
l1.addAll(listFuture);
|
||||
});
|
||||
|
||||
@@ -566,6 +566,9 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
po2.setAdvanceReason(po.getAdvanceReason());
|
||||
po2.setAdvanceType(po.getAdvanceType());
|
||||
po2.setFileFlag(1);
|
||||
if (!Objects.isNull(po.getAdvanceReason()) && !Objects.isNull(po.getAdvanceType())) {
|
||||
po2.setDealFlag(1);
|
||||
}
|
||||
int row = wlRmpEventDetailMapper.updateById(po2);
|
||||
if (row > 0) {
|
||||
result = true;
|
||||
@@ -580,7 +583,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
rmpEventDetailPO.setMeasurementPointId(param.getMonitorId());
|
||||
rmpEventDetailPO.setStartTime(time);
|
||||
rmpEventDetailPO.setEventType(getEventType(param.getEventType()));
|
||||
rmpEventDetailPO.setFeatureAmplitude(param.getAmplitude());
|
||||
rmpEventDetailPO.setFeatureAmplitude(param.getAmplitude() * 100);
|
||||
rmpEventDetailPO.setDuration(param.getDuration());
|
||||
rmpEventDetailPO.setEventDescribe(getTag(param.getEventType()));
|
||||
rmpEventDetailPO.setPhase(param.getPhase());
|
||||
@@ -598,6 +601,9 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
po.setAdvanceReason(advanceReason);
|
||||
po.setAdvanceType(advanceType);
|
||||
po.setFileFlag(1);
|
||||
if (!Objects.isNull(advanceReason) && !Objects.isNull(advanceType)) {
|
||||
po.setDealFlag(1);
|
||||
}
|
||||
wlRmpEventDetailMapper.updateById(po);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.njcn.csdevice.api.DeviceFtpFeignClient;
|
||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||
import com.njcn.csdevice.api.PortableOffLogFeignClient;
|
||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO;
|
||||
import com.njcn.csharmonic.enums.CsHarmonicResponseEnum;
|
||||
import com.njcn.csharmonic.offline.constant.OfflineConstant;
|
||||
@@ -151,30 +152,33 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
try {
|
||||
//询问装置项目信息
|
||||
askProjectInfo(lineId,null, Integer.parseInt(TypeEnum.TYPE_6.getCode()),null,"DevCmd");
|
||||
Thread.sleep(5000);
|
||||
String key = AppRedisKey.PROJECT_INFO + lineId;
|
||||
Object object = redisUtil.getObjectByKey(key);
|
||||
if (!Objects.isNull(object)) {
|
||||
// 创建 DateTimeFormatter 对象并指定格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
List<RspDataDto.ProjectInfo> projectInfoList = channelObjectUtil.objectToList(redisUtil.getObjectByKey(key),RspDataDto.ProjectInfo.class);
|
||||
for (RspDataDto.ProjectInfo item : projectInfoList) {
|
||||
MakeUpVo vo = new MakeUpVo();
|
||||
vo.setType("dir");
|
||||
BeanUtils.copyProperties(item,vo);
|
||||
long startTime = item.getPrjTimeStart();
|
||||
if (startTime != 0) {
|
||||
LocalDateTime dateTime = Instant.ofEpochMilli((startTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||
String formattedDate = dateTime.format(formatter);
|
||||
vo.setStartTime(formattedDate);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
Thread.sleep(1000);
|
||||
String key = AppRedisKey.PROJECT_INFO + lineId;
|
||||
Object object = redisUtil.getObjectByKey(key);
|
||||
if (!Objects.isNull(object)) {
|
||||
// 创建 DateTimeFormatter 对象并指定格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
List<RspDataDto.ProjectInfo> projectInfoList = channelObjectUtil.objectToList(redisUtil.getObjectByKey(key),RspDataDto.ProjectInfo.class);
|
||||
for (RspDataDto.ProjectInfo item : projectInfoList) {
|
||||
MakeUpVo vo = new MakeUpVo();
|
||||
vo.setType("dir");
|
||||
BeanUtils.copyProperties(item,vo);
|
||||
long startTime = item.getPrjTimeStart();
|
||||
if (startTime != 0) {
|
||||
LocalDateTime dateTime = Instant.ofEpochMilli((startTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||
String formattedDate = dateTime.format(formatter);
|
||||
vo.setStartTime(formattedDate);
|
||||
}
|
||||
long endTime = item.getPrjTimeEnd();
|
||||
if (endTime != -1) {
|
||||
LocalDateTime dateTime = Instant.ofEpochMilli((endTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||
String formattedDate = dateTime.format(formatter);
|
||||
vo.setEndTime(formattedDate);
|
||||
}
|
||||
result.add(vo);
|
||||
}
|
||||
long endTime = item.getPrjTimeEnd();
|
||||
if (endTime != -1) {
|
||||
LocalDateTime dateTime = Instant.ofEpochMilli((endTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||
String formattedDate = dateTime.format(formatter);
|
||||
vo.setEndTime(formattedDate);
|
||||
}
|
||||
result.add(vo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
@@ -497,7 +501,8 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
CsEquipmentDeliveryPO po = equipmentFeignClient.getDevByLineId(lineId).getData();
|
||||
nDid = po.getNdid();
|
||||
}
|
||||
String version = csTopicFeignClient.find(nDid).getData();
|
||||
// String version = csTopicFeignClient.find(nDid).getData();
|
||||
String version = "V1";
|
||||
ReqAndResDto.Req reqAndResParam = createRequestParameters(lineId, type, path);
|
||||
publisher.send("/Pfm/"+topic+"/" + version + "/" + nDid, new Gson().toJson(reqAndResParam), 1, false);
|
||||
}
|
||||
@@ -523,11 +528,10 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
|
||||
private void handleType8454(ReqAndResDto.Req reqAndResParam, String lineId) {
|
||||
if (StringUtils.isNotBlank(lineId)) {
|
||||
int length = StringUtils.length(lineId);
|
||||
Integer clDid = Integer.parseInt(lineId.substring(length - 1));
|
||||
CsLinePO po = csLineFeignClient.getById(lineId).getData();
|
||||
reqAndResParam.setType(8454);
|
||||
MakeUpDto makeUpDto = new MakeUpDto();
|
||||
makeUpDto.setClDid(clDid);
|
||||
makeUpDto.setClDid(po.getClDid());
|
||||
makeUpDto.setDataType(Integer.parseInt(DATA_48.getCode()));
|
||||
makeUpDto.setDataAttr(0);
|
||||
makeUpDto.setOperate(1);
|
||||
|
||||
@@ -388,7 +388,7 @@ public class StableDataServiceImpl implements StableDataService {
|
||||
stringBuilder1.append("last("+data.getName()).append("_"+i).append(") AS "+data.getName()).append("_"+i).append(",");
|
||||
}
|
||||
}
|
||||
stringBuilder2.append ("line_id='").append (csLinePO.getLineId()).append("' and value_type = 'avg' and process='"+data1.get(0).getProcess()+"' group by phasic_type ").append(InfluxDbSqlConstant.TZ);
|
||||
stringBuilder2.append ("line_id='").append (csLinePO.getLineId()).append("' and value_type = 'AVG' and process='"+data1.get(0).getProcess()+"' group by phasic_type ").append(InfluxDbSqlConstant.TZ);
|
||||
String sql1 = "select "+stringBuilder1+" from "+"apf_data"+" where "+stringBuilder2;
|
||||
|
||||
QueryResult sqlData = influxDbUtils.query(sql1);
|
||||
|
||||
Reference in New Issue
Block a user