// Admin.NET 项目的版æƒã€å•†æ ‡ã€ä¸“利和其他相关æƒåˆ©å‡å—ç›¸åº”æ³•å¾‹æ³•è§„çš„ä¿æŠ¤ã€‚ä½¿ç”¨æœ¬é¡¹ç›®åº”éµå®ˆç›¸å…³æ³•律法规和许å¯è¯çš„è¦æ±‚。
//
// 本项目主è¦éµå¾ª MIT 许å¯è¯å’Œ Apache 许å¯è¯ï¼ˆç‰ˆæœ¬ 2.0)进行分å‘和使用。许å¯è¯ä½äºŽæºä»£ç æ ‘æ ¹ç›®å½•ä¸çš„ LICENSE-MIT å’Œ LICENSE-APACHE 文件。
//
// ä¸å¾—利用本项目从事å±å®³å›½å®¶å®‰å…¨ã€æ‰°ä¹±ç¤¾ä¼šç§©åºã€ä¾µçŠ¯ä»–äººåˆæ³•æƒç›Šç‰æ³•å¾‹æ³•è§„ç¦æ¢çš„æ´»åЍï¼ä»»ä½•基于本项目二次开å‘è€Œäº§ç”Ÿçš„ä¸€åˆ‡æ³•å¾‹çº çº·å’Œè´£ä»»ï¼Œæˆ‘ä»¬ä¸æ‰¿æ‹…任何责任ï¼
using Magicodes.ExporterAndImporter.Core.Filters;
using Magicodes.ExporterAndImporter.Core.Models;
namespace Admin.NET.Core.Service;
/// <summary>
/// 基础å˜å‚¨è¿‡ç¨‹è¾“入类
/// </summary>
public class BaseProcInput
{
/// <summary>
/// ProcId
/// </summary>
public string ProcId { get; set; }
/// <summary>
/// æ•°æ®åº“é…ç½®Id
/// </summary>
public string ConfigId { get; set; } = SqlSugarConst.MainConfigId;
/// <summary>
/// å˜å‚¨è¿‡ç¨‹è¾“入傿•°
/// </summary>
/// <example>{"id":"351060822794565"}</example>
public Dictionary<string, object> ProcParams { get; set; }
}
/// <summary>
/// 带表头åç§°å˜å‚¨è¿‡ç¨‹è¾“入类
/// </summary>
public class ExportProcByTMPInput : BaseProcInput
{
/// <summary>
/// 模æ¿åç§°
/// </summary>
public string Template { get; set; }
}
/// <summary>
/// 带表头åç§°å˜å‚¨è¿‡ç¨‹è¾“入类
/// </summary>
public class ExportProcInput : BaseProcInput
{
public Dictionary<string, string> EHeader { get; set; }
}
/// <summary>
/// 指定导出类å(有排åºï¼‰å˜å‚¨è¿‡ç¨‹è¾“入类
/// </summary>
public class ExportProcInput2 : BaseProcInput
{
public List<string> EHeader { get; set; }
}
/// <summary>
/// å‰ç«¯æŒ‡å®šåˆ—
/// </summary>
public class ProcExporterHeaderFilter : IExporterHeaderFilter
{
private Dictionary<string, Tuple<string, int>> _includeHeader;
public ProcExporterHeaderFilter(Dictionary<string, Tuple<string, int>> includeHeader)
{
_includeHeader = includeHeader;
}
public ExporterHeaderInfo Filter(ExporterHeaderInfo exporterHeaderInfo)
{
if (_includeHeader != null && _includeHeader.Count > 0)
{
var key = exporterHeaderInfo.PropertyName.ToUpper();
if (_includeHeader.ContainsKey(key))
{
exporterHeaderInfo.DisplayName = _includeHeader[key].Item1;
return exporterHeaderInfo;
}
else
{
exporterHeaderInfo.ExporterHeaderAttribute.Hidden = true;
}
}
return exporterHeaderInfo;
}
}