diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 57e7973a..77b70913 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -754,22 +754,79 @@ namespace BMA.EHR.Placement.Service.Controllers [HttpPost("appoint/report")] public async Task> 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(); } + /// + /// เอกสารแนบท้าย C-PM-5 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("appoint/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> 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; + } + } + /// /// ออกคำสั่ง C-PM-05 /// @@ -858,22 +915,79 @@ namespace BMA.EHR.Placement.Service.Controllers [HttpPost("slip/report")] public async Task> 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(); } + /// + /// เอกสารแนบท้าย C-PM-6 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("slip/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> 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; + } + } + /// /// ออกคำสั่ง C-PM-06 /// @@ -951,6 +1065,89 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// ส่งรายชื่อออกคำสั่ง C-PM-07 + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("move/report")] + public async Task> 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(); + } + + /// + /// เอกสารแนบท้าย C-PM-7 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("move/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> 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; + } + } + /// /// ออกคำสั่ง C-PM-07 /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 402fe56b..2d5d3044 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -1477,7 +1477,7 @@ namespace BMA.EHR.Placement.Service.Controllers /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpGet("recruit/report/attachment")] + [HttpPost("recruit/report/attachment")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] @@ -1486,38 +1486,40 @@ namespace BMA.EHR.Placement.Service.Controllers { try { - var report_data = "null"; - // var report_data = (from r in req.refIds - // join p in _dbContext.Set() - // .Include(x => x.PlacementEducations) - // .Include(x => x.Placement) - // on r equals p.Id - // orderby r.Sequence - // select new CommandType01Response - // { - // Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "" : - // p.PlacementEducations.FirstOrDefault().Degree, - // Seq = r.Sequence.ToString().ToThaiNumber(), - // CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(), - // FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", - // Oc = p.root == null ? "" : p.root, - // PositionName = p.positionName == null ? "" : p.positionName, - // PositionLevel = p.posLevelName == null ? "" : p.posLevelName, - // PositionType = p.posTypeName == null ? "" : p.posTypeName, - // PositionNumber = 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() : "", - // Salary = p.Amount == null ? "0" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber().ToThaiNumber(), - // AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(), - // ExamNumber = p.ExamNumber == null ? "0" : p.ExamNumber.Value.ToString().ToThaiNumber(), - // PlacementName = $"{p.Placement.Name.ToThaiNumber()} ครั้งที่ {p.Placement.Round.ToThaiNumber()}/{p.Placement.Year.ToThaiYear().ToString().ToThaiNumber()}", - // RemarkHorizontal = p.RemarkHorizontal, - // RemarkVertical = p.RemarkVertical, - // }).ToList(); - + var report_data = await _context.PlacementProfiles + .Include(x => x.Placement) + .ThenInclude(x => x.PlacementType) + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน") + .Where(x => x.typeCommand.Trim().ToUpper() == "APPOINTED") + .Select(p => new + { + Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "" : + p.PlacementEducations.FirstOrDefault().Degree, + //Seq = r.Sequence.ToString().ToThaiNumber(), + //CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(), + //FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", + Seq = "", + CitizenId = "", + FullName = "", + Oc = p.root == null ? "" : p.root, + PositionName = p.positionName == null ? "" : p.positionName, + PositionLevel = p.posLevelName == null ? "" : p.posLevelName, + PositionType = p.posTypeName == null ? "" : p.posTypeName, + PositionNumber = 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() : "", + Salary = p.Amount == null ? "0" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber().ToThaiNumber(), + AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(), + ExamNumber = p.ExamNumber == null ? "0" : p.ExamNumber.Value.ToString().ToThaiNumber(), + PlacementName = $"{p.Placement.Name.ToThaiNumber()} ครั้งที่ {p.Placement.Round.ToThaiNumber()}/{p.Placement.Year.ToThaiYear().ToString().ToThaiNumber()}", + RemarkHorizontal = p.RemarkHorizontal, + RemarkVertical = p.RemarkVertical, + }) + .ToListAsync(); return Success(report_data); } catch @@ -1743,6 +1745,66 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// เอกสารแนบท้าย C-PM-02 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("candidate/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PostReportCandidateAttachment([FromBody] ReportPersonRequest req) + { + try + { + var report_data = await _context.PlacementProfiles + .Include(x => x.Placement) + .ThenInclude(x => x.PlacementType) + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน") + .Where(x => x.typeCommand.Trim().ToUpper() == "APPOINTED") + .Select(p => new + { + Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "" : + p.PlacementEducations.FirstOrDefault().Degree, + //Seq = r.Sequence.ToString().ToThaiNumber(), + //CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(), + //FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", + Seq = "", + CitizenId = "", + FullName = "", + Oc = p.root == null ? "" : p.root, + PositionName = p.positionName == null ? "" : p.positionName, + PositionLevel = p.posLevelName == null ? "" : p.posLevelName, + PositionType = p.posTypeName == null ? "" : p.posTypeName, + PositionNumber = 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() : "", + Salary = p.Amount == null ? "0" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber().ToThaiNumber(), + AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(), + ExamNumber = p.ExamNumber == null ? "0" : p.ExamNumber.Value.ToString().ToThaiNumber(), + PlacementName = $"{p.Placement.Name.ToThaiNumber()} ครั้งที่ {p.Placement.Round.ToThaiNumber()}/{p.Placement.Year.ToThaiYear().ToString().ToThaiNumber()}", + RemarkHorizontal = p.RemarkHorizontal, + RemarkVertical = p.RemarkVertical, + }) + .ToListAsync(); + return Success(report_data); + } + catch + { + throw; + } + } + /// /// ออกคำสั่ง C-PM-02 /// @@ -1959,6 +2021,77 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// เอกสารแนบท้าย C-PM-03 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("appoint/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PostReportAppointAttachment([FromBody] ReportPersonRequest req) + { + try + { + var report_data = await _context.PlacementProfiles + .Include(x => x.Placement) + .ThenInclude(x => x.PlacementType) + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Placement!.PlacementType!.Name == "แต่งตั้งข้าราชการ") + .Where(x => x.typeCommand.Trim().ToUpper() == "APPOIN") + .Select(p => new + { + Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "" : + p.PlacementEducations.FirstOrDefault().Degree, + //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, + Probation = "", + OldPositionName = p.positionNameOld == null ? "" : p.positionNameOld, + OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld, + OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld, + OldPositionNumber = p.posMasterNoOld == null ? "" : + p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "", + OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), + + NewOc = p.root == null ? "" : p.root, + NewPositionName = p.positionName == null ? "" : p.positionName, + 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 = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), + AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(), + RemarkHorizontal = p.RemarkHorizontal, + RemarkVertical = p.RemarkVertical + }) + .ToListAsync(); + return Success(report_data); + } + catch + { + throw; + } + } + /// /// ออกคำสั่ง C-PM-03 /// @@ -2061,6 +2194,73 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// เอกสารแนบท้าย C-PM-04 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("move/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PostReportMoveAttachment([FromBody] ReportPersonRequest req) + { + try + { + var report_data = await _context.PlacementProfiles + .Include(x => x.Placement) + .ThenInclude(x => x.PlacementType) + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Placement!.PlacementType!.Name == "แต่งตั้งข้าราชการ") + .Where(x => x.typeCommand.Trim().ToUpper() == "APPOIN") + .Select(p => new + { + Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "": + p.PlacementEducations.FirstOrDefault().Degree, + //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.positionNameOld == null ? "" : p.positionNameOld, + OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld, + OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld, + OldPositionNumber = p.posMasterNoOld == null ? "" : + p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "", + OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), + NewOc = p.root == null ? "" : p.root, + NewPositionName = p.positionName == null ? "" : p.positionName, + 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 = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), + AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber() + }) + .ToListAsync(); + return Success(report_data); + } + catch + { + throw; + } + } + /// /// ออกคำสั่ง C-PM-04 /// @@ -2163,6 +2363,73 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// เอกสารแนบท้าย C-PM-39 + /// + /// Record Id ของคำสั่ง + /// pdf, docx หรือ xlsx + /// + /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("slip/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PostReportSlipAttachment([FromBody] ReportPersonRequest req) + { + try + { + var report_data = await _context.PlacementProfiles + .Include(x => x.Placement) + .ThenInclude(x => x.PlacementType) + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Placement!.PlacementType!.Name == "เลื่อนข้าราชการ") + .Where(x => x.typeCommand.Trim().ToUpper() == "SLIP") + .Select(p => new + { + Education = p.PlacementEducations == null || p.PlacementEducations.Count == 0 ? "" : + p.PlacementEducations.FirstOrDefault().Degree, + //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.positionNameOld == null ? "" : p.positionNameOld, + OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld, + OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld, + OldPositionNumber = p.posMasterNoOld == null ? "" : + p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : + p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "", + OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), + NewOc = p.root == null ? "" : p.root, + NewPositionName = p.positionName == null ? "" : p.positionName, + 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 = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), + AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber() + }) + .ToListAsync(); + return Success(report_data); + } + catch + { + throw; + } + } + /// /// ออกคำสั่ง C-PM-39 ///