using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 监测机构数据上报类型
///
[Comment("监测机构数据上报类型")]
public class ExamOrgDataReport : IEntity
{
///
/// 主键
///
[Comment("主键")]
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
///
/// 监测机构ID
///
[Comment("监测机构ID")]
[Required]
public int ExamOrgId { get; set; }
///
/// 监测计划ID
///
[Comment("监测计划ID")]
[Required]
public int ExamPlanId { get; set; }
///
/// 监测机构ID
///
[Comment("监测机构ID")]
[Required]
public short SysOrgId { get; set; }
///
/// 上报类型
///
[Comment("上报类型")]
[Required, Column(TypeName = "smallint")]
public DataReportType Type { get; set; }
///
/// 状态
///
[Comment("状态")]
[Required, Column(TypeName = "smallint")]
public DataReportStatus Status { get; set; } = DataReportStatus.UNREPORT;
///
/// 上报人用户ID
///
[Comment("上报人用户ID")]
public int? ReportSysUserId { get; set; }
///
/// 开始时间
///
[Comment("开始时间")]
public DateTime? ReportTime { get; set; }
///
/// 备注
///
[Comment("备注")]
public string Remark { get; set; }
///
/// 佐证材料
///
[Comment("佐证材料")]
[Column(TypeName = "json")]
public string Attachments { get; set; } = "[]";
///
/// 一对一引用(监测机构)
///
public virtual ExamOrg ExamOrg { get; set; }
///
/// 一对一引用(用户)
///
public virtual SysUser ReportSysUser { get; set; }
}