员工绩效excel导出

This commit is contained in:
qianhao.xu
2025-02-19 09:09:44 +08:00
parent 9956e37d35
commit 4aed6294ad

View File

@@ -42,9 +42,28 @@ namespace DOAN.Admin.WebApi.Controllers.MES.Group
[AllowAnonymous]
public IActionResult UserExport([FromQuery] AchievementQueryDto parm)
{
var list = _achievementService.GetstaffAchievementList(parm);
var data = _achievementService.GetstaffAchievementList(parm);
// 创建一个字典来映射属性名和中文标题
var columnMapping = new Dictionary<string, string>
{
{ nameof(AchievementDto.Id), "ID" },
{ nameof(AchievementDto.Worker), "员工" },
{ nameof(AchievementDto.MaterialUse), "物料领用" },
{ nameof(AchievementDto.MechanicalProcessing), "机械加工" },
{ nameof(AchievementDto.MiddleCheck), "中间检查" },
{ nameof(AchievementDto.Handgrind), "手工研磨" },
{ nameof(AchievementDto.Machinegrind), "机研磨" },
{ nameof(AchievementDto.Finegrind), "精研磨" },
{ nameof(AchievementDto.WarehouseInspection), "入库检查" },
{ nameof(AchievementDto.Shipment), "出货" }
};
var result = ExportExcelMini(list, "staff", "员工绩效");
// 将数据转换为字典列表,以便 MiniExcel 可以识别列名
var rows = data.Select(dto => columnMapping.ToDictionary(
mapping => mapping.Value, // 使用中文标题作为列名
mapping => dto.GetType().GetProperty(mapping.Key).GetValue(dto, null)
)).ToList();
var result = ExportExcelMini(rows, "staff", "员工绩效");
return ExportExcel(result.Item2, result.Item1);
}