package com.inspect.metadata.patrolpointmnt.service;

import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModelItem;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo;

import java.util.List;

public interface IBasedataPatrolPointService {
    BasedataPatrolPoint selectBasedataPatrolPointByPatrolPointId(Long patrolPointId);

    List<BasedataPatrolPoint> selectBasedataPatrolPointList(BasedataPatrolPoint patrolPoint);

    List<BasedataPatrolPoint> selectBasedataMonitorList(BasedataPatrolPoint patrolPoint);
    List<BasedataPatrolPoint> selectBasedataMonitorRelationList(BasedataPatrolPoint patrolPoint);

    BasedataPatrolPoint insertBasedataPatrolPoint(BasedataPatrolPoint patrolPoint);

    int updateBasedataPatrolPoint(BasedataPatrolPoint patrolPoint);

    int deleteBasedataPatrolPointByPatrolPointIds(Long[] patrolPointIds);

    int deleteBasedataPatrolPointByPatrolPointId(Long patrolPointId);

    int selectPresetPosByPatrolPointId(Long[] patrolPointIds);

    void upPatrolPointModel(BasedataPatrolPoint patrolPoint);

    String superSystemSynPatrolPointModel();

    String xml(DevicePointModelItem item, Long[] ids);

    PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo);

    List<PointLatestResultVo> pointLatestResult(PointLatestResultVo pointLatestResultVo);

    void updateBasedataPatrolPointRelation(Long toAreaId, Long deviceId);

    void batchUpdateBasedataPatrolPointRelation(Long toAreaId, Long toParentId, Long toDeviceId, List<Long> patrolPointIds);
}
