API ขอลาออกและโอนออก ฝั่ง admin #2196
This commit is contained in:
parent
64c1021c52
commit
094789bfb1
6 changed files with 468 additions and 0 deletions
|
|
@ -683,6 +683,140 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
return Success(placementTransfer.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// สร้างคำขอโอน โดย admin
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200"></response>
|
||||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPost("admin")]
|
||||
public async Task<ActionResult<ResponseObject>> 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<OrgRequest>(_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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// แก้ไขคำขอโอน
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -10,4 +10,13 @@ namespace BMA.EHR.Placement.Service.Requests
|
|||
public DateTime? Date { get; set; }
|
||||
public List<FormFile>? 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<FormFile>? File { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue