diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index 566b799b..e27b4ad3 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -683,6 +683,140 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(placementTransfer.Id); } + /// + /// สร้างคำขอโอน โดย admin + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("admin")] + public async Task> PostAdmin([FromForm] PlacementTransferAdminRequest req) + { + var placementTransfer = new PlacementTransfer + { + Organization = req.Organization, + Reason = req.Reason, + Status = "APPROVE", + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + var apiUrl = $"{_configuration["API"]}/org/profile/profileid/position/{req.ProfileId}"; + 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.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + var org = JsonConvert.DeserializeObject(_result); + + if (org == null || org.result == null) + return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); + + placementTransfer.profileId = org.result.profileId; + placementTransfer.prefix = org.result.prefix; + placementTransfer.firstName = org.result.firstName; + placementTransfer.lastName = org.result.lastName; + placementTransfer.citizenId = org.result.citizenId; + placementTransfer.rootOld = org.result.root; + placementTransfer.rootOldId = org.result.rootId; + placementTransfer.rootDnaOldId = org.result.rootDnaId; + placementTransfer.rootShortNameOld = org.result.rootShortName; + placementTransfer.child1Old = org.result.child1; + placementTransfer.child1OldId = org.result.child1Id; + placementTransfer.child1DnaOldId = org.result.child1DnaId; + placementTransfer.child1ShortNameOld = org.result.child1ShortName; + placementTransfer.child2Old = org.result.child2; + placementTransfer.child2OldId = org.result.child2Id; + placementTransfer.child2DnaOldId = org.result.child2DnaId; + placementTransfer.child2ShortNameOld = org.result.child2ShortName; + placementTransfer.child3Old = org.result.child3; + placementTransfer.child3OldId = org.result.child3Id; + placementTransfer.child3DnaOldId = org.result.child3DnaId; + placementTransfer.child3ShortNameOld = org.result.child3ShortName; + placementTransfer.child4Old = org.result.child4; + placementTransfer.child4OldId = org.result.child4Id; + placementTransfer.child4DnaOldId = org.result.child4DnaId; + placementTransfer.child4ShortNameOld = org.result.child4ShortName; + placementTransfer.posMasterNoOld = org.result.posMasterNo; + placementTransfer.posTypeOldId = org.result.posTypeId; + placementTransfer.posTypeNameOld = org.result.posTypeName; + placementTransfer.posLevelOldId = org.result.posLevelId; + placementTransfer.posLevelNameOld = org.result.posLevelName; + placementTransfer.AmountOld = org.result.salary; + placementTransfer.PositionOld = org.result.position; + placementTransfer.PositionExecutiveOld = org.result.posExecutiveName; + placementTransfer.positionExecutiveFieldOld = org.result.positionExecutiveField; + placementTransfer.positionAreaOld = org.result.positionArea; + placementTransfer.PositionLevelOld = org.result.posLevelName; + placementTransfer.PositionTypeOld = org.result.posTypeName; + placementTransfer.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementTransfer.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + + (org.result.child3 == null ? "" : org.result.child3 + "\n") + + (org.result.child2 == null ? "" : org.result.child2 + "\n") + + (org.result.child1 == null ? "" : org.result.child1 + "\n") + + (org.result.root == null ? "" : org.result.root); + placementTransfer.OrganizationPositionOld = org.result.position + "\n" + + (placementTransfer.PositionExecutiveOld == null ? "" : (placementTransfer.positionExecutiveField == null ? placementTransfer.PositionExecutiveOld + "\n" : placementTransfer.PositionExecutiveOld + "(" + placementTransfer.positionExecutiveField + ")" + "\n")) + + placementTransfer.OrganizationOld; + } + await _context.PlacementTransfers.AddAsync(placementTransfer); + await _context.SaveChangesAsync(); + if (Request.Form.Files != null && Request.Form.Files.Count != 0) + { + foreach (var file in Request.Form.Files) + { + var fileExtension = Path.GetExtension(file.FileName); + + var doc = await _documentService.UploadFileAsync(file, file.FileName); + var _doc = await _context.Documents.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == doc.Id); + if (_doc != null) + { + var placementTransferDoc = new PlacementTransferDoc + { + PlacementTransfer = placementTransfer, + Document = _doc, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + await _context.PlacementTransferDocs.AddAsync(placementTransferDoc); + + } + } + } + + //var baseAPIOrg = _configuration["API"]; + //var apiUrlOrg = $"{baseAPIOrg}/org/workflow/add-workflow"; + //using (var client = new HttpClient()) + //{ + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // refId = placementTransfer.Id, + // sysName = "SYS_TRANSFER_REQ", + // posLevelName = placementTransfer.posLevelNameOld, + // posTypeName = placementTransfer.posTypeNameOld, + // fullName = $"{placementTransfer.prefix}{placementTransfer.firstName} {placementTransfer.lastName}" + // }); + //} + await _context.SaveChangesAsync(); + + return Success(placementTransfer.Id); + } + /// /// แก้ไขคำขอโอน /// diff --git a/BMA.EHR.Placement.Service/Requests/PlacementTransferRequest.cs b/BMA.EHR.Placement.Service/Requests/PlacementTransferRequest.cs index 7f740043..6611f92c 100644 --- a/BMA.EHR.Placement.Service/Requests/PlacementTransferRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PlacementTransferRequest.cs @@ -10,4 +10,13 @@ namespace BMA.EHR.Placement.Service.Requests public DateTime? Date { get; set; } public List? File { get; set; } } + + public class PlacementTransferAdminRequest + { + public string ProfileId { get; set; } + public string Organization { get; set; } + public string Reason { get; set; } + public DateTime? Date { get; set; } + public List? File { get; set; } + } } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index d33b945b..2caa44a1 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1343,6 +1343,155 @@ namespace BMA.EHR.Retirement.Service.Controllers return Success(retirementResign); } + /// + /// สร้างการลาออก โดย admin + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("admin")] + public async Task> PostAdmin([FromForm] RetirementResignAdminRequest req) + { + var Remark = req.Remark; + if (req.Reason != null) + { + switch (req.Reason.Trim().ToUpper()) + { + case "CAREER": Remark = $"ประกอบอาชีพอื่น" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "MOVE": Remark = $"รับราชการสังกัดอื่น" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "FAMILY": Remark = $"ดูแลบิดามารดา" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "EDUCATION": Remark = $"ศึกษาต่อ" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "OTHER": Remark = $"อื่น ๆ" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + } + } + + var retirementResign = new RetirementResign + { + ApproveStep = "st1", + Location = req.Location, + SendDate = DateTime.Now, + ActiveDate = req.ActiveDate, + Reason = req.Reason, + ReasonResign = Remark, + Remark = req.Remark, + Status = "APPROVE", + IsActive = true, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + + var apiUrl = $"{_configuration["API"]}/org/profile/profileid/position/{req.ProfileId}"; + 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.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + var org = JsonConvert.DeserializeObject(_result); + + if (org == null || org.result == null) + return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); + + retirementResign.profileId = org.result.profileId; + retirementResign.prefix = org.result.prefix; + retirementResign.firstName = org.result.firstName; + retirementResign.lastName = org.result.lastName; + retirementResign.citizenId = org.result.citizenId; + retirementResign.rootOld = org.result.root; + retirementResign.rootOldId = org.result.rootId; + retirementResign.rootDnaOldId = org.result.rootDnaId; + retirementResign.rootShortNameOld = org.result.rootShortName; + retirementResign.child1Old = org.result.child1; + retirementResign.child1OldId = org.result.child1Id; + retirementResign.child1DnaOldId = org.result.child1DnaId; + retirementResign.child1ShortNameOld = org.result.child1ShortName; + retirementResign.child2Old = org.result.child2; + retirementResign.child2OldId = org.result.child2Id; + retirementResign.child2DnaOldId = org.result.child2DnaId; + retirementResign.child2ShortNameOld = org.result.child2ShortName; + retirementResign.child3Old = org.result.child3; + retirementResign.child3OldId = org.result.child3Id; + retirementResign.child3DnaOldId = org.result.child3DnaId; + retirementResign.child3ShortNameOld = org.result.child3ShortName; + retirementResign.child4Old = org.result.child4; + retirementResign.child4OldId = org.result.child4Id; + retirementResign.child4DnaOldId = org.result.child4DnaId; + retirementResign.child4ShortNameOld = org.result.child4ShortName; + retirementResign.posMasterNoOld = org.result.posMasterNo; + retirementResign.posTypeOldId = org.result.posTypeId; + retirementResign.posTypeNameOld = org.result.posTypeName; + retirementResign.posLevelOldId = org.result.posLevelId; + retirementResign.posLevelNameOld = org.result.posLevelName; + retirementResign.AmountOld = org.result.salary; + retirementResign.PositionOld = org.result.position; + retirementResign.PositionExecutiveOld = org.result.posExecutiveName; + retirementResign.positionExecutiveFieldOld = org.result.positionExecutiveField; + retirementResign.positionAreaOld = org.result.positionArea; + retirementResign.PositionLevelOld = org.result.posLevelName; + retirementResign.PositionTypeOld = org.result.posTypeName; + retirementResign.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResign.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + + (org.result.child3 == null ? "" : org.result.child3 + "\n") + + (org.result.child2 == null ? "" : org.result.child2 + "\n") + + (org.result.child1 == null ? "" : org.result.child1 + "\n") + + (org.result.root == null ? "" : org.result.root); + retirementResign.OrganizationPositionOld = org.result.position + "\n" + + (retirementResign.PositionExecutiveOld == null ? "" : (retirementResign.positionExecutiveField == null ? retirementResign.PositionExecutiveOld + "\n" : retirementResign.PositionExecutiveOld + "(" + retirementResign.positionExecutiveField + ")" + "\n")) + + retirementResign.OrganizationOld; + + if ((retirementResign.posTypeNameOld == "ทั่วไป" && retirementResign.posLevelNameOld == "ชำนาญงาน") || (retirementResign.posTypeNameOld == "ทั่วไป" && retirementResign.posLevelNameOld == "ปฏิบัติงาน") || (retirementResign.posTypeNameOld == "วิชาการ" && retirementResign.posLevelNameOld == "ปฏิบัติการ") || (retirementResign.posTypeNameOld == "วิชาการ" && retirementResign.posLevelNameOld == "ชำนาญการ")) + { + retirementResign.Group = "1.1"; + } + else if ((retirementResign.posTypeNameOld == "ทั่วไป" && retirementResign.posLevelNameOld == "อาวุโส") || (retirementResign.posTypeNameOld == "วิชาการ" && retirementResign.posLevelNameOld == "ชำนาญการพิเศษ") || (retirementResign.posTypeNameOld == "อำนวยการ" && retirementResign.posLevelNameOld == "ต้น")) + { + retirementResign.Group = "1.2"; + } + else if ((retirementResign.posTypeNameOld == "ทั่วไป" && retirementResign.posLevelNameOld == "ทักษะพิเศษ") || (retirementResign.posTypeNameOld == "วิชาการ" && retirementResign.posLevelNameOld == "เชี่ยวชาญ") || (retirementResign.posTypeNameOld == "วิชาการ" && retirementResign.posLevelNameOld == "ทรงคุณวุฒิ") || (retirementResign.posTypeNameOld == "อำนวยการ" && retirementResign.posLevelNameOld == "สูง") || (retirementResign.posTypeNameOld == "บริหาร" && retirementResign.posLevelNameOld == "ต้น") || (retirementResign.posTypeNameOld == "บริหาร" && retirementResign.posLevelNameOld == "สูง")) + { + retirementResign.Group = "2"; + } + } + await _context.RetirementResigns.AddAsync(retirementResign); + await _context.SaveChangesAsync(); + if (Request.Form.Files != null && Request.Form.Files.Count != 0) + { + foreach (var file in Request.Form.Files) + { + var fileExtension = Path.GetExtension(file.FileName); + + var doc = await _documentService.UploadFileAsync(file, file.FileName); + var _doc = await _context.Documents.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == doc.Id); + if (_doc != null) + { + var retirementResignDoc = new RetirementResignDoc + { + RetirementResign = retirementResign, + Document = _doc, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + await _context.RetirementResignDocs.AddAsync(retirementResignDoc); + } + } + } + await _context.SaveChangesAsync(); + return Success(retirementResign); + } + /// /// แก้ไขการลาออก /// diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index bfd8ab9f..8bc6c975 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1291,6 +1291,148 @@ namespace BMA.EHR.Retirement.Service.Controllers return Success(retirementResignEmployee); } + /// + /// สร้างการลาออก โดย admin + /// + /// + /// + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPost("admin")] + public async Task> PostAdmin([FromForm] RetirementResignEmployeeAdminRequest req) + { + var Remark = req.Remark; + if (req.Reason != null) + { + switch (req.Reason.Trim().ToUpper()) + { + case "CAREER": Remark = $"ประกอบอาชีพอื่น" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "MOVE": Remark = $"รับราชการสังกัดอื่น" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "FAMILY": Remark = $"ดูแลบิดามารดา" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "EDUCATION": Remark = $"ศึกษาต่อ" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + case "OTHER": Remark = $"อื่น ๆ" + (req.Remark == null || req.Remark == "" ? $"{req.Remark}" : ""); break; + } + } + var retirementResignEmployee = new RetirementResignEmployee + { + ApproveStep = "st1", + Location = req.Location, + SendDate = DateTime.Now, + ActiveDate = req.ActiveDate, + Reason = req.Reason, + ReasonResign = Remark, + Remark = req.Remark, + Status = "APPROVE", + IsActive = true, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + + var apiUrl = $"{_configuration["API"]}/org/profile-employee/profileid/position/{req.ProfileId}"; + 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.Get, apiUrl); + var _res = await client.SendAsync(_req); + var _result = await _res.Content.ReadAsStringAsync(); + + var org = JsonConvert.DeserializeObject(_result); + + if (org == null || org.result == null) + return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); + + retirementResignEmployee.profileId = org.result.profileId; + retirementResignEmployee.prefix = org.result.prefix; + retirementResignEmployee.firstName = org.result.firstName; + retirementResignEmployee.lastName = org.result.lastName; + retirementResignEmployee.citizenId = org.result.citizenId; + retirementResignEmployee.rootOld = org.result.root; + retirementResignEmployee.rootOldId = org.result.rootId; + retirementResignEmployee.rootDnaOldId = org.result.rootDnaId; + retirementResignEmployee.rootShortNameOld = org.result.rootShortName; + retirementResignEmployee.child1Old = org.result.child1; + retirementResignEmployee.child1OldId = org.result.child1Id; + retirementResignEmployee.child1DnaOldId = org.result.child1DnaId; + retirementResignEmployee.child1ShortNameOld = org.result.child1ShortName; + retirementResignEmployee.child2Old = org.result.child2; + retirementResignEmployee.child2OldId = org.result.child2Id; + retirementResignEmployee.child2DnaOldId = org.result.child2DnaId; + retirementResignEmployee.child2ShortNameOld = org.result.child2ShortName; + retirementResignEmployee.child3Old = org.result.child3; + retirementResignEmployee.child3OldId = org.result.child3Id; + retirementResignEmployee.child3DnaOldId = org.result.child3DnaId; + retirementResignEmployee.child3ShortNameOld = org.result.child3ShortName; + retirementResignEmployee.child4Old = org.result.child4; + retirementResignEmployee.child4OldId = org.result.child4Id; + retirementResignEmployee.child4DnaOldId = org.result.child4DnaId; + retirementResignEmployee.child4ShortNameOld = org.result.child4ShortName; + retirementResignEmployee.posMasterNoOld = org.result.posMasterNo; + retirementResignEmployee.posTypeOldId = org.result.posTypeId; + retirementResignEmployee.posTypeNameOld = org.result.posTypeName; + retirementResignEmployee.posLevelOldId = org.result.posLevelId; + retirementResignEmployee.posLevelNameOld = org.result.posLevelName; + retirementResignEmployee.AmountOld = org.result.salary; + retirementResignEmployee.PositionOld = org.result.position; + retirementResignEmployee.PositionLevelOld = org.result.posLevelName; + retirementResignEmployee.PositionTypeOld = org.result.posTypeName; + retirementResignEmployee.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResignEmployee.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + + (org.result.child3 == null ? "" : org.result.child3 + "\n") + + (org.result.child2 == null ? "" : org.result.child2 + "\n") + + (org.result.child1 == null ? "" : org.result.child1 + "\n") + + (org.result.root == null ? "" : org.result.root); + retirementResignEmployee.OrganizationPositionOld = org.result.position + "\n" + retirementResignEmployee.OrganizationOld; + if ((retirementResignEmployee.posTypeNameOld == "ทั่วไป" && retirementResignEmployee.posLevelNameOld == "ชำนาญงาน") || (retirementResignEmployee.posTypeNameOld == "ทั่วไป" && retirementResignEmployee.posLevelNameOld == "ปฏิบัติงาน") || (retirementResignEmployee.posTypeNameOld == "วิชาการ" && retirementResignEmployee.posLevelNameOld == "ปฏิบัติการ") || (retirementResignEmployee.posTypeNameOld == "วิชาการ" && retirementResignEmployee.posLevelNameOld == "ชำนาญการ")) + { + retirementResignEmployee.Group = "1.1"; + } + else if ((retirementResignEmployee.posTypeNameOld == "ทั่วไป" && retirementResignEmployee.posLevelNameOld == "อาวุโส") || (retirementResignEmployee.posTypeNameOld == "วิชาการ" && retirementResignEmployee.posLevelNameOld == "ชำนาญการพิเศษ") || (retirementResignEmployee.posTypeNameOld == "อำนวยการ" && retirementResignEmployee.posLevelNameOld == "ต้น")) + { + retirementResignEmployee.Group = "1.2"; + } + else if ((retirementResignEmployee.posTypeNameOld == "ทั่วไป" && retirementResignEmployee.posLevelNameOld == "ทักษะพิเศษ") || (retirementResignEmployee.posTypeNameOld == "วิชาการ" && retirementResignEmployee.posLevelNameOld == "เชี่ยวชาญ") || (retirementResignEmployee.posTypeNameOld == "วิชาการ" && retirementResignEmployee.posLevelNameOld == "ทรงคุณวุฒิ") || (retirementResignEmployee.posTypeNameOld == "อำนวยการ" && retirementResignEmployee.posLevelNameOld == "สูง") || (retirementResignEmployee.posTypeNameOld == "บริหาร" && retirementResignEmployee.posLevelNameOld == "ต้น") || (retirementResignEmployee.posTypeNameOld == "บริหาร" && retirementResignEmployee.posLevelNameOld == "สูง")) + { + retirementResignEmployee.Group = "2"; + } + } + await _context.RetirementResignEmployees.AddAsync(retirementResignEmployee); + await _context.SaveChangesAsync(); + if (Request.Form.Files != null && Request.Form.Files.Count != 0) + { + foreach (var file in Request.Form.Files) + { + var fileExtension = Path.GetExtension(file.FileName); + + var doc = await _documentService.UploadFileAsync(file, file.FileName); + var _doc = await _context.Documents.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == doc.Id); + if (_doc != null) + { + var retirementResignEmployeeDoc = new RetirementResignEmployeeDoc + { + RetirementResignEmployee = retirementResignEmployee, + Document = _doc, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; + await _context.RetirementResignEmployeeDocs.AddAsync(retirementResignEmployeeDoc); + } + } + } + await _context.SaveChangesAsync(); + return Success(retirementResignEmployee); + } + /// /// แก้ไขการลาออก /// diff --git a/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs b/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs index 409bc185..dd883d0d 100644 --- a/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs @@ -19,4 +19,21 @@ namespace BMA.EHR.Retirement.Service.Requests public double? AmountOld { get; set; } public List? File { get; set; } } + + public class RetirementResignEmployeeAdminRequest + { + public string ProfileId { get; set; } + public string? Location { get; set; } + public DateTime? ActiveDate { get; set; } + public string? Reason { get; set; } + public string? Remark { get; set; } + public string? ReasonResign { get; set; } + public string? OrganizationPositionOld { get; set; } + public string? PositionTypeOld { get; set; } + public string? PositionLevelOld { get; set; } + public string? PositionNumberOld { get; set; } + public string? RemarkHorizontal { get; set; } + public double? AmountOld { get; set; } + public List? File { get; set; } + } } diff --git a/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs b/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs index 7f1bf500..acef05aa 100644 --- a/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs @@ -20,4 +20,21 @@ namespace BMA.EHR.Retirement.Service.Requests public double? AmountOld { get; set; } public List? File { get; set; } } + public class RetirementResignAdminRequest + { + public string ProfileId { get; set; } + public string? Location { get; set; } + public DateTime? ActiveDate { get; set; } + public string? Reason { get; set; } + public string? Remark { get; set; } + public string? ReasonResign { get; set; } + public string? OrganizationPositionOld { get; set; } + public string? PositionExecutiveOld { get; set; } + public string? PositionTypeOld { get; set; } + public string? PositionLevelOld { get; set; } + public string? PositionNumberOld { get; set; } + public string? RemarkHorizontal { get; set; } + public double? AmountOld { get; set; } + public List? File { get; set; } + } }