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; }
+ }
}