| | |
| | | package com.qianwen.mdc.collect.handler; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.qianwen.mdc.collect.dto.PackedTelemetryData; |
| | | import com.qianwen.mdc.collect.entity.iotdb.Alarm; |
| | | import com.qianwen.mdc.collect.service.AlarmService; |
| | | |
| | | @Component |
| | | public class AlarmDataHandler implements TelemetryDataHandler { |
| | | private static final Logger log = LoggerFactory.getLogger(AlarmDataHandler.class); |
| | | |
| | | @Autowired |
| | | private AlarmService alarmService; |
| | | @Override |
| | | public void handleData(PackedTelemetryData data) { |
| | | |
| | | /* |
| | | WorkstationOutput workstationOutput = TelemetryOutputWrapper.build().entityVO(data); |
| | | IOutputAggregateService outputAggregateService = (IOutputAggregateService) SpringUtil.getBean(IOutputAggregateService.class); |
| | | outputAggregateService.outputRealTimeAggregate(workstationOutput); |
| | | */ |
| | | log.info("报警tdengine 实时聚合完成:数据{} "); |
| | | alarmService.saveAlarms(parseAlarm(data)); |
| | | |
| | | log.info("报警数据处理完成:告警数据{} ",data); |
| | | |
| | | } |
| | | |
| | | List<Alarm> parseAlarm(PackedTelemetryData data){ |
| | | List<Alarm> alarmList = new ArrayList<>(); |
| | | //828d json数组格式[{"alarmNo":"8084"}] |
| | | JSONArray alarmArr = JSONArray.parseArray(data.getValue()); |
| | | |
| | | for(int i=0;i<alarmArr.size();i++) { |
| | | Alarm alarm = new Alarm(); |
| | | alarm.setTime(data.getTime()); |
| | | alarm.setWorkstationId(data.getWorkstationId()); |
| | | alarm.setCalendarCode(data.getCalendarCode()); |
| | | alarm.setFactoryDate(data.getFactoryDate()); |
| | | alarm.setFactoryMonth(data.getFactoryMonth()); |
| | | alarm.setFactoryWeek(data.getFactoryWeek()); |
| | | alarm.setFactoryYear(data.getFactoryYear()); |
| | | alarm.setShiftIndex(data.getShiftIndex()); |
| | | alarm.setShiftTimeType(data.getShiftTimeType()); |
| | | |
| | | JSONObject alarmJson = alarmArr.getJSONObject(i); |
| | | alarm.setCode(alarmJson.getString("alarmNo")); |
| | | |
| | | alarm.setMessage("");//暂时没有,需要反查 |
| | | |
| | | alarmList.add(alarm); |
| | | } |
| | | return alarmList; |
| | | } |
| | | |
| | | |
| | | } |