diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 307aa88a..57e7973a 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -950,5 +950,79 @@ namespace BMA.EHR.Placement.Service.Controllers } return Success(); } + + /// + /// ออกคำสั่ง C-PM-07 + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("move/report/excecute")] + public async Task> PostReportExecuteMove([FromBody] ReportExecuteRequest req) + { + // create new profile + foreach (var recv in req.refIds) + { + var placementProfile = await _context.PlacementAppointments + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId)); + if (placementProfile == null) + continue; + var baseAPI = _configuration["API"]; + var apiUrlSalary = $"{baseAPI}/org/profile/salary"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary); + var _res = await client.PostAsJsonAsync(apiUrlSalary, new + { + profileId = placementProfile.profileId, + date = recv.commandAffectDate, + amount = recv.amount, + positionSalaryAmount = recv.positionSalaryAmount, + mouthSalaryAmount = recv.mouthSalaryAmount, + posNo = placementProfile.posMasterNo == null ? "" : + placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" : + placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" : + placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" : + placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" : + placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "", + position = placementProfile.position, + positionLine = "", + positionPathSide = "", + positionExecutive = "", + positionType = placementProfile.posTypeName, + positionLevel = placementProfile.posLevelName, + refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}", + templateDoc = recv.templateDoc, + }); + var _result = await _res.Content.ReadAsStringAsync(); + } + + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg); + var _res = await client.PostAsJsonAsync(apiUrlOrg, new + { + posmasterId = placementProfile.posmasterId, + positionId = placementProfile.positionId, + profileId = placementProfile.profileId, + }); + var _result = await _res.Content.ReadAsStringAsync(); + } + + // update placementstatus + placementProfile.Status = "DONE"; + + await _context.SaveChangesAsync(); + } + return Success(); + } } }