119  
查询码:00000811
人防开发框架_版本更新日志(持续更新)V_1.2.4.9
作者: 余承浩 于 2020年06月11日 发布在分类 / 人防组 / 人防后端 下,并于 2020年06月11日 编辑

V_1.2.4.9

功能简介

    实现了通过配置 详情Dto 从而实现通用导出功能

    Q:为什么不直接在实体上面进行导出标记?

    A:一般而言,详情Dto已经在业务角度上对数据进行了初次筛选,对用户可见的数据,基本上都在详情Dto内,所以在Dto上进行导出标记,可以减少很多非必要的属性过滤。

使用方法

    在DetailDto需要导出的属性上面,添加特性 

        [Export("在这里写导出的列名")]

接口名称为:Export

粘贴图片


例子

双随机系统的活动记录模块

/// <summary>
    /// 活动记录
    /// </summary>
    [AutoMapFrom(typeof(ActivityRecord))]
    public class ActivityRecordDto: EntityDto<string>
    {
        /// <summary>
        /// 项目名称 冗余字段
        /// </summary>
        [StringLength(150)]
        [Export("项目名称")]
        public string ProjectName { set; get; }
        /// <summary>
        /// 项目id
        /// </summary>
        [StringLength(50)]
        public string ProjectId { set; get; }
        /// <summary>
        /// 活动组织单位
        /// </summary>
        [StringLength(150)]
        [Export("活动组织单位")]
        public string Organizational { set; get; }
        /// <summary>
        /// 专家姓名
        /// </summary>
        [StringLength(50)]
        [Export("专家姓名")]
        public string ExpertsName { set; get; }
        /// <summary>
        /// 专家id
        /// </summary>
        [StringLength(50)]
        public string ExpertsId { set; get; }
        /// <summary>
        /// 活动时间
        /// </summary>
        [Export("活动时间")]
        public DateTime ActivityDate { set; get; }
        /// <summary>
        /// 活动地点
        /// </summary>
        [StringLength(150)]
        [Export("活动地点")]
        public string ActivityAddress { set; get; }
        /// <summary>
        /// 评价等级
        /// </summary>
        [Export("评价等级")]
        public int? Rating { set; get; } = 0;
        /// <summary>
        /// 考评人员姓名
        /// </summary>
        [StringLength(50)]
        [Export("考评人员")]
        public string EvaluationPersonnelName { set; get; }
        /// <summary>
        /// 考评人员id
        /// </summary>
        [StringLength(50)]
        public string EvaluationPersonnelId { set; get; }
        /// <summary>
        /// 考评地点
        /// </summary>
        [StringLength(150)]
        [Export("考评地点")]
        public string EvaluationAddress { set; get; }
        /// <summary>
        /// 考评日期
        /// </summary>
        [Export("考评日期")]
        public DateTime EvaluationDate { set; get; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { set; get; }
        /// <summary>
        /// 租户
        /// </summary>
        public string TenantId { get; set; }
        /// <summary>
        ///  附件iD
        /// </summary>
        [StringLength(500)]
        public string FileId { set; get; }

    }
所以导出属性添加完毕,调用该接口,效果如下

粘贴图片


特殊业务的可重写导出

        有些业务的某些字段是外键,但是导出的时候需要展示的是主表的具体名称,比如数据字典之类的,框架提供了一个 ExportOverride 方法,参数overrideData 即为重新赋值后的导出数据,可以自行在派生类内部修改数据,然后调用此方法实现真实数据的导出。



 推荐知识

 历史版本

修改日期 修改人 备注
2020-06-11 17:23:18[当前版本] 余承浩 修改标题
2020-06-11 12:11:40 余承浩 格式调整
2020-06-11 12:05:30 余承浩 创建版本

 附件

附件类型

PNGPNG

  目录
    知识分享平台 -V 4.8.7 -wcp