package com.njcn.service.configuration;

import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import com.njcn.pojo.advanced.HarmonicRateInfo;
import com.njcn.pojo.commons.AreaGeneralData;
import com.njcn.pojo.commons.SteadyData;
import com.njcn.pojo.commons.SteadyTypeData;
import com.njcn.pojo.commons.acceptability.AcceptabilityAllData;
import com.njcn.pojo.commons.device.MachineAccount;
import com.njcn.pojo.commons.runmanage.SteadyResult;
import com.njcn.pojo.commons.runmanage.SteadyTable;
import com.njcn.pojo.configuration.Line;
import com.njcn.pojo.configuration.Monitor;
import com.njcn.pojo.data.Legder;
import com.njcn.pojo.jibei.Dnzljczz;
import com.njcn.pojo.jibei.Znycdz;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author hongawen
 * @date 2018/4/13 11:11
 */
public interface LineService {
    //概览---》频率偏差
    SteadyTypeData getFrequencyDeviation(Date startTime, Date endTime, String overview);

    //区域统计---》指标合格率全部
    SteadyTypeData getAllData(Date startTime, Date endTime, String area);

    // 运行管理--》稳态指标列表
    SteadyResult getSteadyData(Date startTime, Date endTime, String area);

    SteadyData getSteady(Date startTime, Date endTime, Long lineIndex);

    List<SteadyData> getSteadyTB(Date startTime, Date endTime, Date laststartTime, Date lastendTime, Long lineIndex);

    Line selectLineByIndex(Long lineId);

    //获取稳态越限详情
    List<SteadyTable> getSteadyOutOfLimitData(Date startTime, Date endTime, String area);

    //获取谐波总畸变率
    List<HarmonicRateInfo> getHarmonicRate(Date startTime, Date endTime);

    int getRole(String url);

    MachineAccount getLineName(Integer lineId);

    Monitor loadgwLine(String lineIndex,String monitorId);

    Znycdz loadgwSubstation(String subIndex) throws SQLException, IOException, ClassNotFoundException;

    Dnzljczz loadgwDevice(String devIndex);

    List<Legder> getLedger(String area, String voltage, String factory, String type, String appear, String nature);

    String queryWiringDiagram(Integer lineId,HttpServletResponse response);
}
