ย้ายคนจากสรรหาไปบรรจุ

This commit is contained in:
Kittapath 2023-07-25 23:45:35 +07:00
parent afd9994783
commit 9a53f34107
15 changed files with 846 additions and 260 deletions

View file

@ -293,6 +293,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
[Comment("วันที่ชำระเงิน")]
public DateTime? PaymentDate { get; set; }
public virtual List<Education> Educations { get; set; } = new List<Education>();
}
}

View file

@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class EntityBaseNoIsActive
{
[Key, Column(Order = 0), Comment("PrimaryKey")]
[JsonPropertyName("id")]
public Guid Id { get; set; }
[Required, Column(Order = 100), Comment("สร้างข้อมูลเมื่อ")]
public DateTime CreatedAt { get; set; } = DateTime.Now;
[Column(Order = 101), Comment("User Id ที่สร้างข้อมูล"), MaxLength(40)]
public string CreatedUserId { get; set; } = string.Empty;
[Column(Order = 102), Comment("แก้ไขข้อมูลล่าสุดเมื่อ")]
public DateTime? LastUpdatedAt { get; set; }
[Column(Order = 103), Comment("User Id ที่แก้ไขข้อมูลล่าสุด"), MaxLength(40)]
public string LastUpdateUserId { get; set; } = string.Empty;
[Column(Order = 104), Comment("ชื่อ User ที่สร้างข้อมูล"), MaxLength(200)]
public string CreatedFullName { get; set; } = string.Empty;
[Column(Order = 105), Comment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด"), MaxLength(200)]
public string LastUpdateFullName { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class Placement : EntityBaseNoIsActive
{
[Required, Comment("รอบการสอบ")]
public string Name { get; set; } = string.Empty;
[Comment("ครั้งที่")]
public string Round { get; set; } = string.Empty;
[Required, Comment("ปีงบประมาณ"), MaxLength(5)]
public int Year { get; set; }
[Required, Comment("จำนวนผู้สอบได้"), MaxLength(10)]
public int Number { get; set; } = 0;
[Required, Comment("ประเภทการสอบ")]
public required PlacementType PlacementType { get; set; }
[Required, Comment("วันที่เริ่มบัญชีบัญชี")]
public DateTime StartDate { get; set; }
[Required, Comment("วันที่สิ้นสุดบัญชี")]
public DateTime EndDate { get; set; }
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual List<PlacementProfile> PlacementProfiles { get; set; } = new List<PlacementProfile>();
}
}

View file

@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementCertificate : EntityBaseNoIsActive
{
[Required, Comment("Id ผู้สมัคร")]
public virtual PlacementProfile? PlacementProfile { get; set; }
[MaxLength(20), Comment("เลขที่ใบอนุญาต")]
public string? CertificateNo { get; set; }
[MaxLength(200), Comment("หน่วยงานผู้ออกใบอนุญาต")]
public string? Issuer { get; set; }
[Comment("วันที่ออกใบอนุญาต")]
public DateTime? IssueDate { get; set; }
[Comment("วันที่หมดอายุ")]
public DateTime? ExpireDate { get; set; }
[MaxLength(100), Comment("ชื่อใบอนุญาต")]
public string? CertificateType { get; set; }
}
}

View file

@ -0,0 +1,44 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementEducation : EntityBaseNoIsActive
{
[Required, Comment("Id ผู้สมัคร")]
public virtual PlacementProfile? PlacementProfile { get; set; }
[Comment("Idวุฒิที่ได้รับ")]
public virtual EducationLevel? EducationLevel { get; set; }
[MaxLength(1000), Comment("สถานศึกษา")]
public string? Institute { get; set; }
[MaxLength(200), Comment("วุฒิการศึกษา")]
public string? Degree { get; set; }
[MaxLength(200), Comment("สาขาวิชา/ทาง")]
public string? Field { get; set; }
[MaxLength(20), Comment("เกรดเฉลี่ย")]
public string? Gpa { get; set; }
[MaxLength(1000), Comment("ประเทศ")]
public string? Country { get; set; }
[MaxLength(1000), Comment("ระยะเวลา")]
public string? Duration { get; set; }
[MaxLength(1000), Comment("ข้อมูลการติดต่อ")]
public string? Other { get; set; }
[MaxLength(1000), Comment("ทุน")]
public string? FundName { get; set; }
[Comment("ระยะเวลาหลักสูตร")]
public int DurationYear { get; set; }
[Comment("วันที่สำเร็จการศึกษา")]
public DateTime? FinishDate { get; set; }
[Comment("ประเภทช่วงเวลาการศึกษา")]
public bool? IsDate { get; set; }
[Comment("ตั้งแต่")]
public DateTime? StartDate { get; set; }
[Comment("ถึง")]
public DateTime? EndDate { get; set; }
// [Comment("Id เป็นวุฒิการศึกษาในตำแหน่ง")]
// public PositionPath? PositionPath { get; set; }
[Comment("เป็นวุฒิศึกษาในตำแหน่ง")]
public bool? IsEducation { get; set; }
}
}

View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementIsProperty : EntityBaseNoIsActive
{
[Required, Comment("ชื่อคุณสมบัติ")]
public string Name { get; set; } = string.Empty;
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,243 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementProfile : EntityBaseNoIsActive
{
[Comment("Id บรรจุ")]
public Placement? Placement { get; set; }
[Comment("Id คำนำหน้า")]
public Prefix? Prefix { get; set; }
[Comment("ชื่อ")]
public string? Firstname { get; set; }
[Comment("นามสกุล")]
public string? Lastname { get; set; }
// [Comment("Id เพศ")]
// public Gender? Gender { get; set; }
[Comment("Id ตำแหน่งที่สอบได้")]
public PositionPath? PositionCandidate { get; set; }
// [Comment("Id เลขที่ตำแหน่ง")]
// public OrganizationPositionEntity? OrganizationPosition { get; set; }
[Comment("วันที่บรรจุ")]
public DateTime? RecruitDate { get; set; }
[Comment("วันที่รายงานตัว")]
public DateTime? ReportingDate { get; set; }
[Comment("เงินเดือน")]
public double? Amount { get; set; }
[Comment("เงินประจำตำแหน่ง")]
public double? PositionSalaryAmount { get; set; }
[Comment("เงินค่าตอบแทนรายเดือน")]
public double? MouthSalaryAmount { get; set; }
[Comment("ตำแหน่ง (รายละเอียด)")]
public string? SalaryClass { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? SalaryRef { get; set; }
[Comment("ข้าราชการฯ กทม.")]
public bool? IsOfficer { get; set; }
[Comment("สถานะการบรรจุ")]
public string PlacementStatus { get; set; } = "un-contain";
[Comment("เหตุผลสละสิทธิ์")]
public string? RejectReason { get; set; }
[Comment("ผ่อนผัน")]
public bool IsRelief { get; set; } = false;
[Comment("เหตุผลผ่อนผัน")]
public string? ReliefReason { get; set; }
// [Comment("Id เอกสารผ่อนผัน")]
// public Document? ReliefDoc { get; set; }
[Comment("การคัดกรองคุณสมบัติ")]
public string? IsProperty { get; set; }
[MaxLength(40), Comment("สัญชาติ")]
public string? Nationality { get; set; }
[MaxLength(40), Comment("เชื้อชาติ")]
public string? Race { get; set; }
[MaxLength(40), Comment("วันเกิด")]
public DateTime? DateOfBirth { get; set; }
[Comment("Id สถานภาพ")]
public Relationship? Relationship { get; set; }
// [Comment("Id กลุ่มเลือด")]
// public BloodGroup? BloodGroup { get; set; }
[Comment("Id ศาสนา")]
public Religion? Religion { get; set; }
[MaxLength(200), Comment("อีเมล")]
public string? Email { get; set; }
[MaxLength(20), Comment("เลขประจำตัวประชาชน")]
public string? CitizenId { get; set; }
[Comment("Id เขตที่ออกบัตรประชาชน")]
public District? CitizenDistrict { get; set; }
[Comment("Id จังหวัดที่ออกบัตรประชาชน")]
public Province? CitizenProvince { get; set; }
[Comment("วันที่ออกบัตร")]
public DateTime? CitizenDate { get; set; }
[MaxLength(20), Comment("โทรศัพท์")]
public string? Telephone { get; set; }
[MaxLength(20), Comment("โทรศัพท์มือถือ")]
public string? MobilePhone { get; set; }
[Comment("ความสามารถพิเศษ")]
public string? Knowledge { get; set; }
[Comment("ที่อยู่ตามทะเบียนบ้าน")]
public string? RegistAddress { get; set; }
[Comment("Id จังหวัดที่อยู่ตามทะเบียนบ้าน")]
public Province? RegistProvince { get; set; }
[Comment("Id อำเภอที่อยู่ตามทะเบียนบ้าน")]
public District? RegistDistrict { get; set; }
[Comment("Id ตำบลที่อยู่ตามทะเบียนบ้าน")]
public SubDistrict? RegistSubDistrict { get; set; }
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน")]
public string? RegistZipCode { get; set; }
[Comment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน")]
public bool? RegistSame { get; set; }
[Comment("ที่อยู่ปัจจุบัน")]
public string? CurrentAddress { get; set; }
[Comment("Id จังหวัดที่อยู่ปัจจุบัน")]
public Province? CurrentProvince { get; set; }
[Comment("Id อำเภอที่อยู่ปัจจุบัน")]
public District? CurrentDistrict { get; set; }
[Comment("Id ตำบลที่อยู่ปัจจุบัน")]
public SubDistrict? CurrentSubDistrict { get; set; }
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน")]
public string? CurrentZipCode { get; set; }
[Comment("คู่สมรส")]
public bool? Marry { get; set; }
[Comment("Id คำนำหน้าชื่อคู่สมรส")]
public Prefix? MarryPrefix { get; set; }
[MaxLength(100), Comment("ชื่อจริงคู่สมรส")]
public string? MarryFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลคู่สมรส")]
public string? MarryLastName { get; set; }
[MaxLength(200), Comment("อาชีพคู่สมรส")]
public string? MarryOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติคู่สมรส")]
public string? MarryNationality { get; set; }
[Comment("Id คำนำหน้าชื่อบิดา")]
public Prefix? FatherPrefix { get; set; }
[MaxLength(100), Comment("ชื่อจริงบิดา")]
public string? FatherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลบิดา")]
public string? FatherLastName { get; set; }
[MaxLength(200), Comment("อาชีพบิดา")]
public string? FatherOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติบิดา")]
public string? FatherNationality { get; set; }
[Comment("Id คำนำหน้าชื่อมารดา")]
public Prefix? MotherPrefix { get; set; }
[MaxLength(100), Comment("ชื่อจริงมารดา")]
public string? MotherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลมารดา")]
public string? MotherLastName { get; set; }
[MaxLength(200), Comment("อาชีพมารดา")]
public string? MotherOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติมารดา")]
public string? MotherNationality { get; set; }
[Comment("ประเภทอาชีพที่ทำงานมาก่อน")]
public string? OccupationType { get; set; }
[Comment("สำนัก/บริษัท บริษัท")]
public string? OccupationCompany { get; set; }
[Comment("กอง/ฝ่าย บริษัท")]
public string? OccupationDepartment { get; set; }
[MaxLength(200), Comment("อีเมล บริษัท")]
public string? OccupationEmail { get; set; }
[MaxLength(20), Comment("โทรศัพท์ บริษัท")]
public string? OccupationTelephone { get; set; }
[Comment("ตำแหน่งอาชีพ")]
public string? OccupationPosition { get; set; }
// [Comment("Id ตำแหน่งเลขที่")]
// public PositionNumberEntity? PositionNumber { get; set; }
// [Comment("Id ตำแหน่ง")]
// public PositionPath? PositionPath { get; set; }
// [Comment("Id ด้าน/สาขา")]
// public PositionPathSide? PositionPathSide { get; set; }
// [Comment("Id ประเภทตำแหน่ง")]
// public PositionType? PositionType { get; set; }
// [Comment("Id สายงาน")]
// public PositionLine? PositionLine { get; set; }
// [Comment("Id ระดับ")]
// public PositionLevel? PositionLevel { get; set; }
[Comment("คะแนนเต็มภาค ก")]
public double? PointTotalA { get; set; }
[Comment("คะแนนภาค ก")]
public double? PointA { get; set; }
[Comment("คะแนนเต็มภาค ข")]
public double? PointTotalB { get; set; }
[Comment("คะแนนภาค ข")]
public double? PointB { get; set; }
[Comment("คะแนนเต็มภาค ค")]
public double? PointTotalC { get; set; }
[Comment("คะแนนภาค ค")]
public double? PointC { get; set; }
[Comment("ลำดับที่สอบได้")]
public int ExamNumber { get; set; }
[Comment("จำนวนครั้งที่สมัครสอบ")]
public int ExamRound { get; set; }
[Comment("ผลสมัครสอบ")]
public string? Pass { get; set; }
[Comment("ข้อมูลตำแหน่ง Draft")]
public bool? Draft { get; set; }
public virtual List<PlacementCertificate> PlacementCertificates { get; set; } = new List<PlacementCertificate>();
public virtual List<PlacementEducation> PlacementEducations { get; set; } = new List<PlacementEducation>();
}
}

View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementType : EntityBaseNoIsActive
{
[Required, Comment("ชื่อประเภทบรรจุ")]
public string Name { get; set; } = string.Empty;
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,19 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.Placement
{
public class PositionPath : EntityBaseNoIsActive
{
[Required, MaxLength(100), Column(Order = 1), Comment("ชื่อสายงาน")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
[Column(Order = 3), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
}
}