migrate + ปรับระบบสรรหาสอบคัดเลือก (2)
This commit is contained in:
parent
f20abe032d
commit
876b085dd2
11 changed files with 3261 additions and 2 deletions
|
|
@ -818,6 +818,35 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// เจ้าหน้าอัพเดตสถานะ เปิดให้ดาวน์โหลดใบสมัคร แสดงสถานที่สอบ และเลขประจำตัวสอบ
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="candidateId">รหัสใบสมัคร</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <response code="200">เมื่อเจ้าหน้าที่ตรวจคุณสมบัติผู้สมัครสำเร็จ</response>
|
||||||
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
|
[HttpPost("check-showExamInfo")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<ActionResult<ResponseObject>> CheckShowExamInfoService(RequestApproves item)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (item.CandidateId != null)
|
||||||
|
{
|
||||||
|
await _candidateService.AdminCheckShowExamInfoService(item.CandidateId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Success();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return Error(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// เจ้าหน้าที่ย้อนสถานะเป็นตรวจสอบข้อมูล
|
/// เจ้าหน้าที่ย้อนสถานะเป็นตรวจสอบข้อมูล
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -500,6 +500,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
||||||
.HasColumnOrder(1)
|
.HasColumnOrder(1)
|
||||||
.HasComment("ชื่อจริง");
|
.HasComment("ชื่อจริง");
|
||||||
|
|
||||||
|
b.Property<bool>("IsShowExamInfo")
|
||||||
|
.HasColumnType("tinyint(1)")
|
||||||
|
.HasComment("สถานะ เปิดให้ดาวน์โหลดใบสมัคร แสดงสถานที่สอบ และเลขประจำตัวสอบ");
|
||||||
|
|
||||||
b.Property<string>("Knowledge")
|
b.Property<string>("Knowledge")
|
||||||
.HasColumnType("longtext")
|
.HasColumnType("longtext")
|
||||||
.HasComment("ความสามารถพิเศษ");
|
.HasComment("ความสามารถพิเศษ");
|
||||||
|
|
|
||||||
3147
Migrations/20251118032550_update_table_candidate_add_field_IsShowExamInfo.Designer.cs
generated
Normal file
3147
Migrations/20251118032550_update_table_candidate_add_field_IsShowExamInfo.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,30 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class update_table_candidate_add_field_IsShowExamInfo : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<bool>(
|
||||||
|
name: "IsShowExamInfo",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "tinyint(1)",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: false,
|
||||||
|
comment: "สถานะ เปิดให้ดาวน์โหลดใบสมัคร แสดงสถานที่สอบ และเลขประจำตัวสอบ");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "IsShowExamInfo",
|
||||||
|
table: "Candidates");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -315,6 +315,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
|
|
||||||
[Comment("โทรศัพท์ บุคคลที่สามารถติดต่อได้")]
|
[Comment("โทรศัพท์ บุคคลที่สามารถติดต่อได้")]
|
||||||
public string? ContactTel { get; set; }
|
public string? ContactTel { get; set; }
|
||||||
|
|
||||||
|
[Comment("สถานะ เปิดให้ดาวน์โหลดใบสมัคร แสดงสถานที่สอบ และเลขประจำตัวสอบ")]
|
||||||
|
public bool IsShowExamInfo { get; set; } = false;
|
||||||
public virtual List<Education> Educations { get; set; } = new List<Education>();
|
public virtual List<Education> Educations { get; set; } = new List<Education>();
|
||||||
public virtual List<Career> Careers { get; set; } = new List<Career>();
|
public virtual List<Career> Careers { get; set; } = new List<Career>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,5 +39,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
public string? HighDegree { get; set; }
|
public string? HighDegree { get; set; }
|
||||||
public DateTime? AnnouncementDate { get; set; }
|
public DateTime? AnnouncementDate { get; set; }
|
||||||
public Guid? Id { get; set; }
|
public Guid? Id { get; set; }
|
||||||
|
public bool? IsShowExamInfo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,5 +10,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
public int? Year { get; set; }
|
public int? Year { get; set; }
|
||||||
public string? Position { get; set; }
|
public string? Position { get; set; }
|
||||||
public string? PositionLevel { get; set; }
|
public string? PositionLevel { get; set; }
|
||||||
|
public string? EducationLevel { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,5 +16,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
public PositionExam? PositionExam { get; set; }
|
public PositionExam? PositionExam { get; set; }
|
||||||
public DateTime? RegisterEndDate { get; set; }
|
public DateTime? RegisterEndDate { get; set; }
|
||||||
public DateTime? RegisterStartDate { get; set; }
|
public DateTime? RegisterStartDate { get; set; }
|
||||||
|
public int? graduationYearLock { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
||||||
public string? Status { get; set; }
|
public string? Status { get; set; }
|
||||||
|
|
||||||
public string? RejectDetail { get; set; }
|
public string? RejectDetail { get; set; }
|
||||||
|
|
||||||
|
public bool? IsShowExamInfo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
CanRegister = exam.RegisterStartDate == null || exam.RegisterEndDate == null ? true : DateOnly.FromDateTime(exam.RegisterStartDate.Value) <= DateOnly.FromDateTime(DateTime.Now) && DateOnly.FromDateTime(exam.RegisterEndDate.Value) >= DateOnly.FromDateTime(DateTime.Now),
|
CanRegister = exam.RegisterStartDate == null || exam.RegisterEndDate == null ? true : DateOnly.FromDateTime(exam.RegisterStartDate.Value) <= DateOnly.FromDateTime(DateTime.Now) && DateOnly.FromDateTime(exam.RegisterEndDate.Value) >= DateOnly.FromDateTime(DateTime.Now),
|
||||||
RegisterEndDate = exam.RegisterEndDate,
|
RegisterEndDate = exam.RegisterEndDate,
|
||||||
RegisterStartDate = exam.RegisterStartDate,
|
RegisterStartDate = exam.RegisterStartDate,
|
||||||
|
graduationYearLock = exam.GraduationYearLock,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1966,7 +1967,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
if (candidate == null)
|
if (candidate == null)
|
||||||
throw new Exception(GlobalMessages.CandidateNotFound);
|
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||||
|
|
||||||
return new CandidateStatusResponse { Status = candidate.Status, RejectDetail = candidate.RejectDetail };
|
return new CandidateStatusResponse { Status = candidate.Status, RejectDetail = candidate.RejectDetail, IsShowExamInfo = candidate.IsShowExamInfo };
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UserCheckCandidateService(string examId, string positionId, string status)
|
public async Task UserCheckCandidateService(string examId, string positionId, string status)
|
||||||
|
|
@ -2177,6 +2178,41 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
|
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
public async Task AdminCheckShowExamInfoService(string[] candidateId)
|
||||||
|
{
|
||||||
|
//var _num = 0;
|
||||||
|
foreach (var _candidateId in candidateId)
|
||||||
|
{
|
||||||
|
var candidate = await _context.Candidates.AsQueryable()
|
||||||
|
.Include(x => x.PeriodExam)
|
||||||
|
.Include(x => x.PositionExam)
|
||||||
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(_candidateId));
|
||||||
|
if (candidate == null)
|
||||||
|
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||||
|
|
||||||
|
if (candidate.Status.Trim().ToUpper() != "CHECKREGISTER")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (candidate.PeriodExam == null)
|
||||||
|
throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
var periodExam = await _context.Candidates.AsQueryable()
|
||||||
|
.Where(x => x.PeriodExam == candidate.PeriodExam)
|
||||||
|
.Where(x => x.PositionExam == candidate.PositionExam)
|
||||||
|
.Where(x => x.ExamIdenNumber != null)
|
||||||
|
.Where(x => x.Status != "register")
|
||||||
|
.OrderByDescending(d => d.CreatedAt)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
if (periodExam == null)
|
||||||
|
throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
candidate.IsShowExamInfo = true;
|
||||||
|
//++_num;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
}
|
||||||
public async Task AdminRejectToCheckCandidateService(Guid candidateId, string? reason)
|
public async Task AdminRejectToCheckCandidateService(Guid candidateId, string? reason)
|
||||||
{
|
{
|
||||||
var candidate = await _context.Candidates.AsQueryable()
|
var candidate = await _context.Candidates.AsQueryable()
|
||||||
|
|
@ -2329,6 +2365,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
Position = positionName,
|
Position = positionName,
|
||||||
PositionLevel = positionLevelName,
|
PositionLevel = positionLevelName,
|
||||||
HighDegree = highDegree,
|
HighDegree = highDegree,
|
||||||
|
IsShowExamInfo = candidate.IsShowExamInfo,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -319,6 +319,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
Year = periodExam.Year,
|
Year = periodExam.Year,
|
||||||
Position = positionExam.PositionName,
|
Position = positionExam.PositionName,
|
||||||
PositionLevel = positionExam.PositionLevelName,
|
PositionLevel = positionExam.PositionLevelName,
|
||||||
|
EducationLevel = positionExam.EducationLevel,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -330,6 +331,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
Year = periodExam.Year,
|
Year = periodExam.Year,
|
||||||
Position = null,
|
Position = null,
|
||||||
PositionLevel = null,
|
PositionLevel = null,
|
||||||
|
EducationLevel = positionExam.EducationLevel,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -366,7 +368,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
CompanyCode = inserted.CompanyCode,
|
CompanyCode = inserted.CompanyCode,
|
||||||
Reason = inserted.Reason,
|
Reason = inserted.Reason,
|
||||||
RefNo1 = inserted.RefNo1,
|
RefNo1 = inserted.RefNo1,
|
||||||
GraduationYearLock = inserted.GraduationYearLock,
|
GraduationYearLock = inserted.GraduationYearLock ?? 3,
|
||||||
CreatedAt = DateTime.Now,
|
CreatedAt = DateTime.Now,
|
||||||
CreatedUserId = UserId ?? "",
|
CreatedUserId = UserId ?? "",
|
||||||
LastUpdatedAt = DateTime.Now,
|
LastUpdatedAt = DateTime.Now,
|
||||||
|
|
@ -806,6 +808,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
Status = x.Status,
|
Status = x.Status,
|
||||||
PositionLevelName = x.PositionExam == null ? null : x.PositionExam.PositionLevelName,
|
PositionLevelName = x.PositionExam == null ? null : x.PositionExam.PositionLevelName,
|
||||||
PositionName = x.PositionExam == null ? null : x.PositionExam.PositionName,
|
PositionName = x.PositionExam == null ? null : x.PositionExam.PositionName,
|
||||||
|
IsShowExamInfo = x.IsShowExamInfo,
|
||||||
})
|
})
|
||||||
.Skip((page - 1) * pageSize)
|
.Skip((page - 1) * pageSize)
|
||||||
.Take(pageSize)
|
.Take(pageSize)
|
||||||
|
|
@ -887,6 +890,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
Status = x.Status,
|
Status = x.Status,
|
||||||
PositionLevelName = x.PositionExam == null ? null : x.PositionExam.PositionLevelName,
|
PositionLevelName = x.PositionExam == null ? null : x.PositionExam.PositionLevelName,
|
||||||
PositionName = x.PositionExam == null ? null : x.PositionExam.PositionName,
|
PositionName = x.PositionExam == null ? null : x.PositionExam.PositionName,
|
||||||
|
IsShowExamInfo = x.IsShowExamInfo,
|
||||||
})
|
})
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
var _candidate = await _context.Candidates.AsQueryable()
|
var _candidate = await _context.Candidates.AsQueryable()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue