api บันทึกข้อมูลลูกจ้าง

This commit is contained in:
DESKTOP-2S5P7D1\Windows 10 2023-08-31 11:52:04 +07:00
parent fd682007f8
commit 83c79e4c0a
11 changed files with 155 additions and 63 deletions

View file

@ -154,22 +154,22 @@ namespace BMA.EHR.Placement.Service.Controllers
p.PositionNumberOld,
p.OrganizationPositionOld,
Avatar = p.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Avatar.Id,
// PlacementReceiveDocs = p.PlacementReceiveDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
PlacementReceiveDocs = p.PlacementReceiveDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.DataNotFound, 404);
// var placementReceiveDocs = new List<dynamic>();
// foreach (var doc in data.PlacementReceiveDocs)
// {
// var _doc = new
// {
// doc.FileName,
// PathName = await _documentService.ImagesPath(doc.Id)
// };
// placementReceiveDocs.Add(_doc);
// }
var placementReceiveDocs = new List<dynamic>();
foreach (var doc in data.PlacementReceiveDocs)
{
var _doc = new
{
doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id)
};
placementReceiveDocs.Add(_doc);
}
var _data = new
{
data.Id,
@ -206,7 +206,7 @@ namespace BMA.EHR.Placement.Service.Controllers
data.PositionNumberOld,
data.OrganizationPositionOld,
Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
// Docs = placementReceiveDocs,
Docs = placementReceiveDocs,
};
return Success(_data);
@ -302,6 +302,68 @@ namespace BMA.EHR.Placement.Service.Controllers
return Success();
}
/// <summary>
/// อัพไฟล์เอกสาร
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("upload/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> PostFile([FromForm] PlacementFileRequest req, Guid id)
{
var uppdated = await _context.PlacementReceives
.Include(x => x.PlacementReceiveDocs)
.ThenInclude(x => x.Document)
.FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null)
return Error(GlobalMessages.PlacementReceiveNotFound, 404);
var placementReceiveDocs = new List<dynamic>();
foreach (var doc in uppdated.PlacementReceiveDocs)
{
if (doc.Document != null)
placementReceiveDocs.Add(doc.Document.Id);
}
_context.PlacementReceiveDocs.RemoveRange(uppdated.PlacementReceiveDocs);
await _context.SaveChangesAsync();
foreach (var doc in placementReceiveDocs)
{
if (doc != null)
await _documentService.DeleteFileAsync(doc);
}
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 placementReceiveDoc = new PlacementReceiveDoc
{
PlacementReceive = uppdated,
Document = _doc,
CreatedUserId = FullName ?? "",
CreatedFullName = UserId ?? "System Administrator",
CreatedAt = DateTime.Now,
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
};
await _context.PlacementReceiveDocs.AddAsync(placementReceiveDoc);
}
}
}
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// เลือกหน่วยงาน
/// </summary>