using F9WebAiTest.Application.CQRS.SYS.Reports.Queries;
using F9WebAiTest.Application.Dtos.SYS.Reports;
using F9WebAiTest.Application.Interfaces.Reports;
using MediatR;
namespace F9WebAiTest.Application.Services.Reports.Providers;
///
/// 职工花名册数据提供者(对应 F9 的 IReportService 实现):
/// 解析查询参数 → 通过 MediatR 发送 CQRS 查询 → 返回含记录集与报表参数的数据源。
/// DsName = "RepDt_Sys_Users"
///
public class RepDt_Sys_Users : IReportDataProvider
{
public string ReportName => "RepDt_Sys_Users";
public async Task GetData(Dictionary pairs, IMediator mediator)
{
// 1. 解析输入参数(部门 q_dep、关键字 q_like)
long depId = 0;
if (pairs.TryGetValue("q_dep", out var depObj) && depObj != null && long.TryParse(depObj.ToString(), out var d))
depId = d;
string like = "";
if (pairs.TryGetValue("q_like", out var likeObj) && likeObj != null)
like = likeObj.ToString() ?? "";
// 2. 发送 CQRS 查询获取报表数据
return await mediator.Send(new GetEmployeeDirectoryRepQuery(depId, like));
}
}