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)); } }