package com.njcn.supervision.service.device;

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.device.SupervisionDevMainReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

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


    String addDevReport(SupervisionDevMainReportParam supervisionDevMainReportParam);

    String updateDevReport(SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate supervisionDevMainReportParam);

    boolean auditDevReport(SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate supervisionDevMainReportParamUpdate);

    Boolean removeDevReport(List<String> ids);

    Page<SupervisionDevMainReportVO> getDevReport(SupervisionDevMainReportParam.SupervisionDevMainReportQuery supervisionDevMainReportQuery);


    String cancelDevMainReport(BpmProcessInstanceCancelParam cancelReqVO);

    List<SupervisionTempDeviceReport> getDeviceList();

    SupervisionDevMainReportVO querySurveyDetail(String id);

    void downloadDevTemplate();

    void importDevData(MultipartFile file, HttpServletResponse response);

    Boolean deleteDevReport(List<String> supervisionId);

}
