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