using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using BMA.EHR.Domain.Models.Base; using BMA.EHR.Domain.Models.MetaData; using BMA.EHR.Domain.Models.Organizations; using BMA.EHR.Domain.Models.Documents; using BMA.EHR.Domain.Models.HR; namespace BMA.EHR.Domain.Models.Retirement { public class RetirementResignEmployee : EntityBase { [Comment("สถานที่ยื่นขอลาออกราชการ")] public string? Location { get; set; } = string.Empty; [Comment("วันที่ยื่นขอออกราชการ")] public DateTime? SendDate { get; set; } [Comment("วันที่ขอออกราชการ")] public DateTime? ActiveDate { get; set; } [Comment("เหตุผลที่ลาออกจากราชการ")] public string? ReasonResign { get; set; } = string.Empty; [Comment("เหตุผลที่ลาออกจากราชการ")] public string? Reason { get; set; } = string.Empty; [Comment("เหตุผลที่ลาออกจากราชการ(อื่นๆ)")] public string? Remark { get; set; } = string.Empty; // [Comment("Id ผู้ลาออก")] // public Profile Profile { get; set; } [Comment("สังกัด")] public string? OrganizationPositionOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม ตำแหน่งประเภท")] public string? PositionTypeOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม ระดับ")] public string? PositionLevelOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม เลขที่")] public string? PositionNumberOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม เงินเดือน")] public double? AmountOld { get; set; } [Comment("สถานะลาออก")] public string? Status { get; set; } = "WAITTING"; [Comment("เหตุผลอนุมัติ")] public string? ApproveReason { get; set; } [Comment("เหตุผลไม่อนุมัติ")] public string? RejectReason { get; set; } [Comment("เหตุผลยกเลิก")] public string? CancelReason { get; set; } [Comment("สถานะยกเลิก")] public bool IsCancel { get; set; } = false; [Comment("สถานะการใช้งาน")] public bool IsActive { get; set; } = true; [Comment("สถานะไม่เป็นหนี้สหกรณ์")] public bool IsNoDebt { get; set; } = false; [Comment("สถานะไม่มีภาระผูกพันค้ำประกันทุนการศึกษา")] public bool IsNoBurden { get; set; } = false; [Comment("สถานะพฤติการณ์ทางวินัย")] public bool IsDiscipline { get; set; } = false; [Comment("สถานะยับยั้งผู้ดูแล")] public bool? OligarchReject { get; set; } [Comment("เหตุผลอนุมัติผู้ดูแล")] public string? OligarchApproveReason { get; set; } [Comment("เหตุผลยับยั้งผู้ดูแล")] public string? OligarchRejectReason { get; set; } [Comment("วันที่ยับยั้งผู้ดูแล")] public DateTime? OligarchRejectDate { get; set; } [Comment("สถานะยับยั้งผู้บังคับบัญชา")] public bool? CommanderReject { get; set; } [Comment("เหตุผลอนุมัติผู้บังคับบัญชา")] public string? CommanderApproveReason { get; set; } [Comment("เหตุผลยับยั้งผู้บังคับบัญชา")] public string? CommanderRejectReason { get; set; } [Comment("วันที่ยับยั้งผู้บังคับบัญชา")] public DateTime? CommanderRejectDate { get; set; } [Comment("สถานะยับยั้งการเจ้าหน้าที่")] public bool? OfficerReject { get; set; } [Comment("เหตุผลอนุมัติการเจ้าหน้าที่")] public string? OfficerApproveReason { get; set; } [Comment("เหตุผลยับยั้งการเจ้าหน้าที่")] public string? OfficerRejectReason { get; set; } [Comment("วันที่ยับยั้งการเจ้าหน้าที่")] public DateTime? OfficerRejectDate { get; set; } [Comment("หมายเหตุแนวนอน")] public string? RemarkHorizontal { get; set; } [Comment("สังกัดเดิม")] public string? OrganizationOld { get; set; } [Comment("ตำแหน่งเดิม")] public string? PositionOld { get; set; } [Comment("profile Id")] public string? profileId { get; set; } [Comment("คำนำหน้า")] public string? prefix { get; set; } [Comment("ชื่อ")] public string? firstName { get; set; } [Comment("นามสกุล")] public string? lastName { get; set; } [Comment("เลขบัตรประชาชน")] public string? citizenId { get; set; } [Comment("ชื่อหน่วยงาน root old")] public string? rootOld { get; set; } [Comment("id หน่วยงาน root old")] public string? rootOldId { get; set; } [Comment("id หน่วยงาน root old")] public string? rootDnaOldId { get; set; } [Comment("ชื่อย่อหน่วยงาน root old")] public string? rootShortNameOld { get; set; } [Comment("ชื่อหน่วยงาน child1 old")] public string? child1Old { get; set; } [Comment("id หน่วยงาน child1 old")] public string? child1OldId { get; set; } [Comment("id หน่วยงาน child1 old")] public string? child1DnaOldId { get; set; } [Comment("ชื่อย่อหน่วยงาน child1 old")] public string? child1ShortNameOld { get; set; } [Comment("ชื่อหน่วยงาน child2 old")] public string? child2Old { get; set; } [Comment("id หน่วยงาน child2 old")] public string? child2OldId { get; set; } [Comment("id หน่วยงาน child2 old")] public string? child2DnaOldId { get; set; } [Comment("ชื่อย่อหน่วยงาน child2 old")] public string? child2ShortNameOld { get; set; } [Comment("ชื่อหน่วยงาน child3 old")] public string? child3Old { get; set; } [Comment("id หน่วยงาน child3 old")] public string? child3OldId { get; set; } [Comment("id หน่วยงาน child3 old")] public string? child3DnaOldId { get; set; } [Comment("ชื่อย่อหน่วยงาน child3 old")] public string? child3ShortNameOld { get; set; } [Comment("ชื่อหน่วยงาน child4 old")] public string? child4Old { get; set; } [Comment("id หน่วยงาน child4 old")] public string? child4OldId { get; set; } [Comment("id หน่วยงาน child4 old")] public string? child4DnaOldId { get; set; } [Comment("ชื่อย่อหน่วยงาน child4 old")] public string? child4ShortNameOld { get; set; } [Comment("เลขที่ตำแหน่ง old")] public int? posMasterNoOld { get; set; } // [Comment("ชื่อตำแหน่งในสายงาน old")] // public string? positionOld { get; set; } [Comment("id ประเภทตำแหน่ง old")] public string? posTypeOldId { get; set; } [Comment("ชื่อประเภทตำแหน่ง old")] public string? posTypeNameOld { get; set; } [Comment("id ระดับตำแหน่ง old")] public string? posLevelOldId { get; set; } [Comment("ชื่อระดับตำแหน่ง old")] public string? posLevelNameOld { get; set; } [Comment("step การอนุมัติ st1 = จทน.อนุมัตื,st2 = ผู้บังคับบัญชา อนุมัติ ")] public string? ApproveStep { get; set; } = string.Empty; [Comment("คนยื่นมาอยู่ในกลุ่ม")] public string? Group { get; set; } = string.Empty; public List Approvers { get; set; } = new(); public virtual List RetirementResignEmployeeDocs { get; set; } = new List(); public virtual List RetirementResignEmployeeDebtDocs { get; set; } = new List(); public virtual List RetirementResignEmployeeCancels { get; set; } = new List(); } }