โอนคนสรรหาไปบรรจุ

This commit is contained in:
Kittapath 2023-07-26 18:42:42 +07:00
parent 49d6f1eb41
commit 1a832061a9
49 changed files with 1725 additions and 765 deletions

View file

@ -0,0 +1,16 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class BloodGroup : EntityBase
{
[Required, MaxLength(2), Column(Order = 1), Comment("ชื่อหมู่โลหิต")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,21 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using Org.BouncyCastle.Asn1.X509;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class District : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual List<SubDistrict> SubDistricts { get; set; } = new();
public virtual Province? Province { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class EducationLevel : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ระดับการศึกษา")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

16
Models/MetaData/Gendor.cs Normal file
View file

@ -0,0 +1,16 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class Gender : EntityBase
{
[Required, MaxLength(20), Column(Order = 1), Comment("เพศ")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.MetaData.Service.Models
{
public class PositionPath : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ชื่อสายงาน")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

16
Models/MetaData/Prefix.cs Normal file
View file

@ -0,0 +1,16 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.MetaData.Service.Models
{
public class Prefix : EntityBase
{
[Required, MaxLength(50), Column(Order = 2), Comment("รายละเอียดคำนำหน้า")]
public string Name { get; set; } = string.Empty;
[Column(Order = 3), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,18 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.MetaData.Service.Models
{
public class Province : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("จังหวัด")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual List<District> Districts { get; set; } = new();
}
}

View file

@ -0,0 +1,15 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models;
public class Relationship: EntityBase
{
[Required, MaxLength(50), Column(Order = 1), Comment("ชื่อความสัมพันธ์")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}

View file

@ -0,0 +1,17 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using Org.BouncyCastle.Asn1.X509;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class Religion : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ศาสนา")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,22 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using Org.BouncyCastle.Asn1.X509;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.MetaData.Service.Models
{
public class SubDistrict : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
public string Name { get; set; } = string.Empty;
[Required, MaxLength(10), Column(Order = 2), Comment("รหัสไปรษณีย์")]
public string ZipCode { get; set; } = string.Empty;
[Column(Order = 3), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual District? District { get; set; }
}
}

View file

@ -0,0 +1,28 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Domain.Models.Placement
{
public class Placement : EntityBase
{
[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 BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementCertificate : EntityBase
{
[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,45 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.MetaData.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementEducation : EntityBase
{
[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 BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementIsProperty : EntityBase
{
[Required, Comment("ชื่อคุณสมบัติ")]
public string Name { get; set; } = string.Empty;
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,244 @@
using BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.MetaData.Service.Models;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementProfile : EntityBase
{
[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(200), Comment("โทรศัพท์")]
public string? Telephone { get; set; }
[MaxLength(200), 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(200), 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 BMA.EHR.Recruit.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementType : EntityBase
{
[Required, Comment("ชื่อประเภทบรรจุ")]
public string Name { get; set; } = string.Empty;
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}