package com.huatek.busi.service.impl.dataoutput.impls;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.google.common.collect.Lists;
import com.huatek.busi.common.CacMonitorTypeCode;
import com.huatek.busi.common.SiteConstants.IcgeType;
import com.huatek.busi.common.SiteConstants.TransfromerTreeEnum;
import com.huatek.busi.service.impl.dataoutput.helper.OptExecutor;
import com.huatek.busi.vo.dataoutput.OutputEquipmentVo;

/**
 * 油色谱
 * 
 * @author anker_cheng
 * @date 2019/10/14
 */
@Component
@OptExecutor(mainEquipmentType = "111", subEquipmentType = "031")
@OptExecutor(mainEquipmentType = "111", subEquipmentType = "081")
public class TransformerIcgeExecutor extends AbstractDataOutputExecutor {
    @Override
    protected Map<String, Object> getParams(OutputEquipmentVo vo, LocalDate day) {
        Map<String, Object> params = super.getParams(vo, day);
        params.put("cacMonitorTypeCode", CacMonitorTypeCode.TRANSFORMER_ICGE.getCode());
        if (TransfromerTreeEnum.TX_EQM.getValue().equals(vo.getEquipmentType())) {
            params.put("type", IcgeType.TX.getValue());
        } else if (TransfromerTreeEnum.JJ_EQM.getValue().equals(vo.getEquipmentType())) {
            params.put("type", IcgeType.JJ.getValue());
        }
        return params;
    }

    @Override
    protected List<String> getKeys() {
        return Lists.newArrayList("sensorId", "sensorName", "timeStamp", "phase", "totalCoreCurrent");
    }
}
