diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 02809ccb..57fbd85e 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -1815,5 +1815,46 @@ namespace BMA.EHR.Placement.Service.Controllers } return Success(); } + + /// + /// ออกคำสั่ง C-PM-21 คำสั่งแต่งตั้งลูกจ้างชั่วคราวเป็นลูกจ้างประจำ (ใช้สำหรับรายงานจำนวนลูกจ้างประจำ กทม. ที่ได้รับการจ้าง แต่งตั้งและย้าย) + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("employee-appoint-21/report/excecute")] + public async Task> PostReportAppointExecute([FromBody] ReportExecutePlacementAppointRequest req) + { + + if (req == null || req.profileEmps.Length == 0) + return Error("ไม่พบรายชื่อรายการแต่งตั้งลูกจ้างชั่วคราวเป็นลูกจ้างประจำ", 404); + + foreach (var profile in req.profileEmps) + { + var placementAppointEmployee = new PlacementAppointmentEmployee + { + profileId = profile.profileId, + prefix = profile.prefix, + firstName = profile.firstName, + lastName = profile.lastName, + citizenId = profile.citizenId, + root = profile.root, + rootId = profile.rootId, + rootShortName = profile.rootShortName, + + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + await _context.PlacementAppointmentEmployee.AddAsync(placementAppointEmployee); + } + await _context.SaveChangesAsync(); + return Success(); + } } } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index c1d26bd2..6fe0ae1d 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -3221,7 +3221,15 @@ namespace BMA.EHR.Placement.Service.Controllers }) .ToList(); - var pa_appoint = placementAppointments.FirstOrDefault(x => x.TypeCommand == "APPOINTED")?.Count ?? 0; + var pae_count = _context.PlacementAppointmentEmployee + .Where(x => + x.CreatedAt.Date >= startDate && + x.CreatedAt.Date <= endDate && + x.rootId.Contains(item.rootId)) + .Count(); + + //var pa_appoint = placementAppointments.FirstOrDefault(x => x.TypeCommand == "APPOINTED")?.Count ?? 0; + var pa_appoint = pae_count; var pa_slip = placementAppointments.FirstOrDefault(x => x.TypeCommand == "SLIP")?.Count ?? 0; var pa_move = placementAppointments.FirstOrDefault(x => x.TypeCommand == "MOVE")?.Count ?? 0; @@ -3254,7 +3262,15 @@ namespace BMA.EHR.Placement.Service.Controllers }) .ToList(); - var pa_appoint = placementAppointments.FirstOrDefault(x => x.TypeCommand == "APPOINTED")?.Count ?? 0; + var pae_count = _context.PlacementAppointmentEmployee + .Where(x => + x.CreatedAt.Date >= startDate && + x.CreatedAt.Date <= endDate && + x.rootId.Contains(item.rootId)) + .Count(); + + //var pa_appoint = placementAppointments.FirstOrDefault(x => x.TypeCommand == "APPOINTED")?.Count ?? 0; + var pa_appoint = pae_count; var pa_slip = placementAppointments.FirstOrDefault(x => x.TypeCommand == "SLIP")?.Count ?? 0; var pa_move = placementAppointments.FirstOrDefault(x => x.TypeCommand == "MOVE")?.Count ?? 0;