package com.ruoyi.system.service.fieldchangerecord;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.system.domain.fieldchangerecord.vo.FieldChangeAffectedHouseResourceVO;
import com.ruoyi.system.domain.fieldchangerecord.vo.FieldChangeRecordQuery;
import com.ruoyi.system.domain.fieldchangerecord.vo.FieldChangeRecordVO;
import com.ruoyi.system.domain.fieldchangerecord.vo.FieldChangeSummaryRow;

import java.util.List;

/**
 * 字段级变更查询服务。
 *
 * <p>对外提供 HR / BE 两条独立的查询路径（明细 + 汇总）。写入由拦截器完成，
 * 本服务不涉及写入。</p>
 */
public interface DataFieldChangeRecordService {

    IPage<FieldChangeRecordVO> pageHouseResourceFieldChanges(FieldChangeRecordQuery query);

    List<FieldChangeSummaryRow> summaryHouseResourceFieldChanges(FieldChangeRecordQuery query);

    IPage<FieldChangeRecordVO> pageBusinessEntityFieldChanges(FieldChangeRecordQuery query);

    List<FieldChangeSummaryRow> summaryBusinessEntityFieldChanges(FieldChangeRecordQuery query);

    IPage<FieldChangeAffectedHouseResourceVO> pageAffectedHouseResources(FieldChangeRecordQuery query);

    List<FieldChangeSummaryRow> summaryAffectedHouseResources(FieldChangeRecordQuery query);
}
