package com.xzzn.ems.service;

import com.xzzn.ems.domain.EmsPointConfig;
import com.xzzn.ems.domain.vo.ImportPointTemplateRequest;
import com.xzzn.ems.domain.vo.PointConfigCurveRequest;
import com.xzzn.ems.domain.vo.PointConfigCurveValueVo;
import com.xzzn.ems.domain.vo.PointConfigGenerateRecentRequest;
import com.xzzn.ems.domain.vo.PointConfigLatestValueRequest;
import com.xzzn.ems.domain.vo.PointConfigLatestValueVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface IEmsPointConfigService {
    List<EmsPointConfig> selectPointConfigList(EmsPointConfig pointConfig);

    EmsPointConfig selectPointConfigById(Long id);

    int insertPointConfig(EmsPointConfig pointConfig, String operName);

    int updatePointConfig(EmsPointConfig pointConfig, String operName);

    int deletePointConfigByIds(Long[] ids);

    String importTemplateBySite(ImportPointTemplateRequest request, String operName);

    String importCsvBySite(String siteId, Boolean overwrite, MultipartFile file, String operName);

    String getRegisterAddress(String siteId, String deviceCategory, String deviceId, String dataKey);

    List<PointConfigLatestValueVo> getLatestValues(PointConfigLatestValueRequest request);

    List<PointConfigCurveValueVo> getCurveData(PointConfigCurveRequest request);

    String generateRecent7DaysData(PointConfigGenerateRecentRequest request);
}
