แนบท้าย 1 2 3 4 39 5 6 7

This commit is contained in:
Bright 2024-10-02 14:51:16 +07:00
parent 874d310b35
commit 0e5946db71
2 changed files with 509 additions and 45 deletions

View file

@ -754,22 +754,79 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("appoint/report")]
public async Task<ActionResult<ResponseObject>> PostReportAppoint([FromBody] ReportPersonRequest req)
{
var placementProfiles = await _context.PlacementProfiles
.Include(x => x.Placement)
.ThenInclude(x => x.PlacementType)
var placementProfiles = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.Where(x => x.Placement!.PlacementType!.Name == "คำสั่งแต่งตั้ง")
.Where(x => x.typeCommand.Trim().ToUpper() == "REPORT")
.ToListAsync();
foreach (var placementProfile in placementProfiles)
{
// update placementstatus
placementProfile.PlacementStatus = "PREPARE-CONTAIN";
placementProfile.Status = "REPORT";
}
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// เอกสารแนบท้าย C-PM-5
/// </summary>
/// <param name="id">Record Id ของคำสั่ง</param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("appoint/report/attachment")]
[AllowAnonymous]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> PostReportAppointAttachment([FromBody] ReportPersonRequest req)
{
try
{
var report_data = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.Select(p => new
{
Education = p.EducationOld == null ? "-" : p.EducationOld,
//Seq = r.Sequence.ToString().ToThaiNumber(),
//CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(),
//FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Seq = "",
CitizenId = "",
FullName = "",
OldOc = p.rootOld == null ? "" : p.rootOld,
OldPositionName = p.OrganizationPositionOld == null ? "" : p.OrganizationPositionOld,
OldPositionLevel = p.PositionLevelOld == null ? "" : p.PositionLevelOld,
OldPositionType = p.PositionTypeOld == null ? "" : p.PositionTypeOld,
OldPositionNumber = p.PositionNumberOld == null ? "" : p.PositionNumberOld.ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalaryDate = p.PositionDate == null ? "" : p.PositionDate.Value.ToThaiShortDate2().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
NewPositionName = p.position == null ? "" : p.position,
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
//NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewSalary = "",
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason
})
.ToListAsync();
return Success(report_data);
}
catch
{
throw;
}
}
/// <summary>
/// ออกคำสั่ง C-PM-05
/// </summary>
@ -858,22 +915,79 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("slip/report")]
public async Task<ActionResult<ResponseObject>> PostReportSlip([FromBody] ReportPersonRequest req)
{
var placementProfiles = await _context.PlacementProfiles
.Include(x => x.Placement)
.ThenInclude(x => x.PlacementType)
var placementProfiles = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.Where(x => x.Placement!.PlacementType!.Name == "เลื่อนข้าราชการ")
.Where(x => x.typeCommand.Trim().ToUpper() == "REPORT")
.ToListAsync();
foreach (var placementProfile in placementProfiles)
{
// update placementstatus
placementProfile.PlacementStatus = "PREPARE-CONTAIN";
placementProfile.Status = "REPORT";
}
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// เอกสารแนบท้าย C-PM-6
/// </summary>
/// <param name="id">Record Id ของคำสั่ง</param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("slip/report/attachment")]
[AllowAnonymous]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> PostReporSlipAttachment([FromBody] ReportPersonRequest req)
{
try
{
var report_data = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.Select(p => new
{
Education = p.EducationOld == null ? "-" : p.EducationOld,
//Seq = r.Sequence.ToString().ToThaiNumber(),
//CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(),
//FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Seq = "",
CitizenId = "",
FullName = "",
OldOc = p.rootOld == null ? "" : p.rootOld,
OldPositionName = p.OrganizationPositionOld == null ? "" : p.OrganizationPositionOld,
OldPositionLevel = p.PositionLevelOld == null ? "" : p.PositionLevelOld,
OldPositionType = p.PositionTypeOld == null ? "" : p.PositionTypeOld,
OldPositionNumber = p.PositionNumberOld == null ? "" : p.PositionNumberOld.ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalaryDate = p.PositionDate == null ? "" : p.PositionDate.Value.ToThaiShortDate2().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
NewPositionName = p.position == null ? "" : p.position,
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
//NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewSalary = "",
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason
})
.ToListAsync();
return Success(report_data);
}
catch
{
throw;
}
}
/// <summary>
/// ออกคำสั่ง C-PM-06
/// </summary>
@ -951,6 +1065,89 @@ namespace BMA.EHR.Placement.Service.Controllers
return Success();
}
/// <summary>
/// ส่งรายชื่อออกคำสั่ง C-PM-07
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("move/report")]
public async Task<ActionResult<ResponseObject>> PostReportMove([FromBody] ReportPersonRequest req)
{
var placementProfiles = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.ToListAsync();
foreach (var placementProfile in placementProfiles)
{
// update placementstatus
placementProfile.Status = "REPORT";
}
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// เอกสารแนบท้าย C-PM-7
/// </summary>
/// <param name="id">Record Id ของคำสั่ง</param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("move/report/attachment")]
[AllowAnonymous]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> PostReporMoveAttachment([FromBody] ReportPersonRequest req)
{
try
{
var report_data = await _context.PlacementAppointments
.Where(x => req.refIds.Contains(x.Id.ToString()))
.Select(p => new
{
Education = p.EducationOld == null ? "-" : p.EducationOld,
//Seq = r.Sequence.ToString().ToThaiNumber(),
//CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(),
//FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Seq = "",
CitizenId = "",
FullName = "",
OldOc = p.rootOld == null ? "" : p.rootOld,
OldPositionName = p.OrganizationPositionOld == null ? "" : p.OrganizationPositionOld,
OldPositionLevel = p.PositionLevelOld == null ? "" : p.PositionLevelOld,
OldPositionType = p.PositionTypeOld == null ? "" : p.PositionTypeOld,
OldPositionNumber = p.PositionNumberOld == null ? "" : p.PositionNumberOld.ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalaryDate = p.PositionDate == null ? "" : p.PositionDate.Value.ToThaiShortDate2().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
NewPositionName = p.position == null ? "" : p.position,
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
//NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewSalary = "",
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason
})
.ToListAsync();
return Success(report_data);
}
catch
{
throw;
}
}
/// <summary>
/// ออกคำสั่ง C-PM-07
/// </summary>