using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace cylsg.Model.ECTEModel
{
///
/// 工作流程
///
[Tenant("ECTESTOADB")]
[SugarTable("OA_WorkPlan")]
public class OaWorkPlan
{
///
/// 编号
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int? Keyid { get; set; }
///
/// 会员编号
///
[SugarColumn(ColumnName = "MemberId")]
public Guid? MemberId { get; set; }
///
/// 发起人编号
///
[SugarColumn(ColumnName = "SentStaffId")]
public Guid? SentStaffId { get; set; }
///
/// 员工
///
[Navigate(NavigateType.OneToOne, nameof(SentStaffId), nameof(OaStaff.MemberId))]
public OaStaff? SentStaff { get; set; }
///
/// 部门编号
///
[SugarColumn(ColumnName = "DepartId")]
public int? DepartId { get; set; }
///
/// 部门
///
[Navigate(NavigateType.OneToOne, nameof(DepartId), nameof(OaDepartment.Keyid))]
public OaDepartment? Depart { get; set; }
///
/// 接收人编号
///
[SugarColumn(ColumnName = "ReciveStaffId")]
public Guid? ReciveStaffId { get; set; }
///
/// 计划类型 报销类为3
///
[SugarColumn(ColumnName = "PlanType")]
public int? PlanType { get; set; }
///
/// 计划性质 报销类为17
///
[SugarColumn(ColumnName = "PlanDataType")]
public int? PlanDataType { get; set; }
///
/// 主题 和内容一致
///
[SugarColumn(ColumnName = "PlanTitle", Length = 200)]
public string? PlanTitle { get; set; }
///
/// 内容
///
[SugarColumn(ColumnName = "PlanContent", Length = 500)]
public string? PlanContent { get; set; }
///
/// 执行时间
///
[SugarColumn(ColumnName = "PlanRunTime")]
public DateTime? PlanRunTime { get; set; }
///
/// 申请费用
///
[SugarColumn(ColumnName = "PlanMoney")]
public decimal? PlanMoney { get; set; }
///
/// 备注
///
[SugarColumn(ColumnName = "PlanRemark", Length = 200)]
public string? PlanRemark { get; set; }
///
/// 计划添加时间
///
[SugarColumn(ColumnName = "PlanStartTime")]
public DateTime? PlanStartTime { get; set; }
///
/// 计划人
///
[SugarColumn(ColumnName = "PlanPeople", Length = 50)]
public string? PlanPeople { get; set; }
///
/// 对口单位
///
[SugarColumn(ColumnName = "PlanComplany", Length = 50)]
public string? PlanComplany { get; set; }
///
/// 计划状态 未用
///
[SugarColumn(ColumnName = "PlanStatus")]
public PlanStatusType? PlanStatus { get; set; }
///
/// 审核人编号
///
[SugarColumn(ColumnName = "ApprovalStaffId")]
public Guid? ApprovalStaffId { get; set; }
///
/// 审批状态
///
[SugarColumn(ColumnName = "ApprovalStatus")]
public PlanStatusType? ApprovalStatus { get; set; } = PlanStatusType.unApproval;
///
/// 审批人员
///
[Navigate(NavigateType.OneToMany, nameof(OaWorkPlanShenpi.OA_WorkPlanId), nameof(Keyid))]
public List? OaWorkPlanShenpis { get; set; }
///
/// 审核时间
///
[SugarColumn(ColumnName = "ApprovalTime")]
public DateTime? ApprovalTime { get; set; }
///
/// 审核批复
///
[SugarColumn(ColumnName = "ApprovalContent", Length = 100)]
public string? ApprovalContent { get; set; }
///
/// 最后修改时间
///
[SugarColumn(ColumnName = "LastUpdateTime")]
public DateTime? LastUpdateTime { get; set; }
///
/// 操作人
///
[SugarColumn(ColumnName = "Operator", Length = 20)]
public string? Operator { get; set; }
///
/// 考评结果/ 更改为报销状态 默认为未报销状态
///
[SugarColumn(ColumnName = "EvaluationStatus")]
public BaoxiaoStausType? EvaluationStatus { get; set; } = BaoxiaoStausType.NotReimbursed;
///
/// 考评内容
///
[SugarColumn(ColumnName = "EvaluationContent", Length = 200)]
public string? EvaluationContent { get; set; }
///
/// 考评人
///
[SugarColumn(ColumnName = "EvaluationStaffId")]
public Guid? EvaluationStaffId { get; set; }
///
/// 考评时间
///
[SugarColumn(ColumnName = "EvaluationTime")]
public DateTime? EvaluationTime { get; set; }
///
/// 奖励类型/当前步骤 ,1或者2
///
[SugarColumn(ColumnName = "RewardType")]
public int? RewardType { get; set; }
///
/// 奖励原因 /为更正科目名称
///
[SugarColumn(ColumnName = "RewardContent", Length = 200)]
public string? RewardContent { get; set; }
///
/// 奖励结果 /更正为科目ID
///
[SugarColumn(ColumnName = "RewardResult", Length = 200)]
public string? RewardResult { get; set; }
///
/// 奖励金额 弃用
///
[SugarColumn(ColumnName = "RewardMoney")]
public decimal? RewardMoney { get; set; }
///
/// 是否后补发票 默认为有发票
///
public HoubufapiaoStatusType? HoubufapiaoStatus { get; set; } = HoubufapiaoStatusType.You;
///
/// 附件,包括发票和附件,需要分类
///
[Navigate(NavigateType.OneToMany, nameof(OaWorkPlanAttachment.OA_WorkPlanId),nameof(Keyid))]
public List< OaWorkPlanAttachment>? WorkPlanAttachments { get; set; }
/////
///// 单纯的附件
/////
//[SugarColumn( IsIgnore =true)]
//public List? Attachments { get; set; }
/////
///// 发票附件
/////
//[SugarColumn(IsIgnore = true)]
//public List? Receipts { get; set; }
///
/// 报销账号
///
[SugarColumn(IsIgnore =true)]
public int? FirmAccountId { get; set; }
}
public enum PlanStatusType
{
///
/// 申请
///
[Description("未审批")]
unApproval,
///
/// 通过
///
[Description("通过")]
Yes ,
///
/// 否定
///
[Description("否定")]
No
}
///
/// 后补发票状态
///
public enum HoubufapiaoStatusType
{
///
/// 未知
///
[Description("未知")]
Unknown,
///
/// 是
///
[Description("是")]
You = 1,
///
///后补发票
///
[Description("后补发票")]
HouBuFaPiao =2,
///
/// 无发票
///
[Description("无发票")]
Wu = 3
}
public enum BaoxiaoStausType
{
///
/// 未知
///
[Description("未知")]
Unknown,
///
/// 已报销
///
[Description("已报销")]
Reimbursed,
///
/// 未报销
///
[Description("未报销")]
NotReimbursed
}
}