package com.erp.audit.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.erp.audit.dto.ComplianceReportRequest;
import com.erp.audit.entity.ComplianceReport;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 合规审计服务接口
 */
public interface ComplianceService {

    /**
     * 生成合规报告
     */
    ComplianceReport generateReport(ComplianceReportRequest request);

    /**
     * 查询报告列表
     */
    IPage<ComplianceReport> listReports(Long tenantId, int pageNum, int pageSize);

    /**
     * 查询报告详情
     */
    ComplianceReport getReportById(Long id);

    /**
     * 查询报告详情 by 报告编号
     */
    ComplianceReport getReportByNo(String reportNo);

    /**
     * 审核报告
     */
    void reviewReport(Long id, String reviewer, String conclusion);

    /**
     * 获取合规摘要
     */
    Object getComplianceSummary(Long tenantId, LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 风险评估
     */
    Object riskAssessment(Long tenantId, LocalDateTime startTime, LocalDateTime endTime);
}
