บันทึกสรุปผลวินัย

This commit is contained in:
Kittapath 2023-12-19 21:40:32 +07:00
parent 7c2a4c0280
commit 6b7a5bfa06
15 changed files with 24038 additions and 0 deletions

View file

@ -116,12 +116,44 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
}),//รายการข้อมูลบุคลผู้ถูกสืบสวน
OrganizationId = x.Organization,//id หน่วยงานกรณี type เป็นหน่วยงาน
ResultDescription = x.ResultDescription,//สรุปผลการพิจารณา
ResultOc = x.ResultOc,//
ResultDisciplineType = x.ResultDisciplineType,//
ResultTitleType = x.ResultTitleType,//
ResultYear = x.ResultYear,//
Status = x.Status,//สถานะหรือผลการสอบสวน
DisciplineDisciplinary_DocResults = x.DisciplineDisciplinary_DocResults.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
if (_data == null)
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
var disciplineDisciplinary_DocResults = new List<dynamic>();
foreach (var doc in _data.DisciplineDisciplinary_DocResults)
{
var _doc = new
{
doc.Id,
doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id)
};
disciplineDisciplinary_DocResults.Add(_doc);
}
var data = new
{
_data.Id,
_data.IdInvestigate,
_data.IdComplaint,
_data.RespondentType,
_data.Persons,
_data.OrganizationId,
_data.ResultDescription,
_data.ResultOc,
_data.ResultDisciplineType,
_data.ResultTitleType,
_data.ResultYear,
_data.Status,
disciplineDisciplinary_DocResults,
};
return Success(_data);
}
@ -142,6 +174,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
data.ResultDescription = req.resultDescription;
data.ResultOc = req.oc;
data.ResultDisciplineType = req.disciplineType;
data.ResultTitleType = req.titleType;
data.ResultYear = req.year;
data.LastUpdateFullName = FullName ?? "System Administrator";
data.LastUpdateUserId = UserId ?? "";
data.LastUpdatedAt = DateTime.Now;
@ -177,5 +213,88 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// อัพไฟล์เอกสารสืบสวนวินัย
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("file/{id:guid}")]
public async Task<ActionResult<ResponseObject>> UploadFileDisciplineDisciplinaryInvestigate([FromForm] DisciplineFileRequest req, Guid id)
{
var data = await _context.DisciplineDisciplinarys
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
// if (data.Status.Trim().ToUpper() != "NEW")
// return Error(new Exception("ไม่สามารถแก้ไขข้อมูลนี้ได้"), (int)StatusCodes.Status500InternalServerError);
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 disciplineDisciplinary_DocResult = new DisciplineDisciplinary_DocResult
{
DisciplineDisciplinary = data,
Document = _doc,
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
};
await _context.DisciplineDisciplinary_DocResults.AddAsync(disciplineDisciplinary_DocResult);
}
}
}
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// ลบไฟล์เอกสารสืบสวนวินัย
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpDelete("file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineDisciplinaryInvestigate(Guid id, Guid docId)
{
var data = await _context.DisciplineDisciplinarys
.Include(x => x.DisciplineDisciplinary_DocResults)
.ThenInclude(x => x.Document)
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
// if (data.Status.Trim().ToUpper() != "NEW")
// return Error(new Exception("ไม่สามารถแก้ไขข้อมูลนี้ได้"), (int)StatusCodes.Status500InternalServerError);
var dataDoc = data.DisciplineDisciplinary_DocResults.Where(x => x.Document.Id == docId).FirstOrDefault();
if (dataDoc != null)
{
_context.DisciplineDisciplinary_DocResults.Remove(dataDoc);
await _context.SaveChangesAsync();
await _documentService.DeleteFileAsync(docId);
await _context.SaveChangesAsync();
return Success();
}
else
{
return Error(new Exception("ไม่พบไฟล์นี้ในระบบ"), (int)StatusCodes.Status404NotFound);
}
}
}
}