package com.njcn.supervision.service.survey;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.service.IBpmService;
import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO;
import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanDetailVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO;

import java.util.List;

/**
 * Description:
 * Date: 2024/5/13  18:35【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
public interface SupervisionGeneralSurveyPlanPOService extends IBpmService<SupervisionGeneralSurveyPlanPO> {


    String addDevReport(SupervisionGeneralSurveyPlanParm supervisionGeneralSurveyPlanParm);

    boolean auditSurvey(SupervisionGeneralSurveyPlanParm.SupervisionGeneralSurveyPlanUpdate supervisionGeneralSurveyPlanUpdate);

    Boolean removeSurvey(List<String> ids);

    Page<SupervisionGeneralSurveyPlanVO> getSurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam);

    /**
     * 分页查询当前用户能看到的普测计划中存在超标问题
     */
    Page<SupervisionGeneralSurveyPlanDetailVO> pageProblemSubstationBySurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam);

    SupervisionGeneralSurveyPlanVO querySurveyDetail(String id);

    List<DeptSubstationVO> initDetpStataionTree(String orgId);

    String cancelGeneralSurvey(BpmProcessInstanceCancelParam cancelReqVO);

    /**
     * 针对有问题的现场测试发起告警单
     * @param id 有问题的测试记录id
     */
    void initiateWarningLeaflet(String id,String subId);
}
