collect/src/main/java/com/qianwen/mdc/collect/handler/AlarmDataHandler.java
@@ -1,12 +1,16 @@
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;
@@ -20,39 +24,38 @@
    @Override
    public void handleData(PackedTelemetryData data) {
       
       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());
       fileAlarmDetail(alarm,data);
       alarmService.saveAlarms(Arrays.asList(alarm));
       alarmService.saveAlarms(parseAlarm(data));
        
        log.info("报警数据处理完成:告警数据{} ",alarm);
        log.info("报警数据处理完成:告警数据{} ",data);
        
    }
    
    /**
     * 填充告警的详细信息,级别,信息,代码
     * @param alarm
     */
    void fileAlarmDetail(Alarm alarm,PackedTelemetryData data){
       alarm.setCode(this.parseCode(data.getValue()));
       alarm.setMessage(data.getValue());
    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;
    }
    
    
    /**
     * 解析报警代码
     * @param collectText
     * @return
     */
    String parseCode(String collectText) {
       return "0000";
    }
}