yangys
2024-09-05 312fd03ae1ee528892129a10630d44de92c73c37
collect/src/main/java/com/qianwen/mdc/collect/handler/AlarmDataHandler.java
@@ -1,23 +1,47 @@
package com.qianwen.mdc.collect.handler;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
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 实时聚合完成:数据{} ");
       Alarm alarm =  new Alarm();//Objects.requireNonNull(BeanUtil.copy(data, Alarm.class));
       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());
       alarmService.saveAlarms(Arrays.asList(alarm));
        log.info("报警数据处理完成:告警数据{} ",alarm);
    }
    /**
     * 填充告警的详细信息,级别,信息,代码
     * @param alarm
     */
    void fileAlarmDetail(Alarm alarm,PackedTelemetryData data){
       alarm.setMessage(data.getValue());
    }
}