package com.usky.vpp.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.vpp.service.vo.ReportAuditRequest;
import com.usky.vpp.service.vo.ReportDataSaveRequest;
import com.usky.vpp.service.vo.ReportPrefillVO;
import com.usky.vpp.service.vo.ReportRecordVO;
import com.usky.vpp.service.vo.ReportTaskCreateRequest;
import com.usky.vpp.service.vo.ReportTaskCreateResultVO;
import com.usky.vpp.service.vo.ReportTaskVO;
import com.usky.vpp.service.vo.ReportValidateResultVO;

import java.util.Map;

/**
 * 监管信息报送业务接口
 */
public interface VppReportInfoService {

    CommonPage<ReportTaskVO> pageTask(Map<String, Object> params);

    ReportTaskCreateResultVO createTask(ReportTaskCreateRequest request);

    ReportRecordVO getRecord(Long id);

    ReportPrefillVO prefill(Long id);

    Map<String, Object> saveData(Long id, ReportDataSaveRequest request);

    ReportValidateResultVO validateData(Long id);

    Map<String, Object> submitAudit(Long id);

    void audit(Long id, ReportAuditRequest request);

    ReportRecordVO submit(Long id);

    CommonPage<ReportRecordVO> pageHistory(Map<String, Object> params);
}
