เก็บประวัติการขยายเวลา

This commit is contained in:
Kittapath 2023-12-06 23:43:14 +07:00
parent 8dae449c62
commit 0c1ae31b22
12 changed files with 11898 additions and 0 deletions

View file

@ -416,6 +416,13 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
DisciplinaryStatusResult = x.DisciplinaryStatusResult,
DisciplinaryCauseText = x.DisciplinaryCauseText,
DisciplinaryResult = x.DisciplinaryResult,
DisciplinaryExtendHistory = x.DisciplineDisciplinaryExtends.Select(e => new
{
Name = e.Name,
Num = e.Num,
DateStart = e.DateStart,
DateEnd = e.DateEnd,
}),
Status = x.Status,
Result = x.Result,
Director = x.DisciplineDisciplinary_DirectorInvestigates.Select(d => new
@ -538,6 +545,7 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
_data.DisciplinaryStatusResult,
_data.DisciplinaryCauseText,
_data.DisciplinaryResult,
_data.DisciplinaryExtendHistory,
_data.Status,
_data.Result,
_data.Director,
@ -568,12 +576,15 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
.Include(x => x.DisciplineDisciplinary_DirectorInvestigates)
.ThenInclude(x => x.DisciplineDirector)
.Include(x => x.DisciplineDisciplinary_ProfileComplaintInvestigates)
.Include(x => x.DisciplineDisciplinaryExtends)
.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 editExtend = false;
if (data.DisciplinaryDateEnd != req.DisciplinaryDateEnd) editExtend = true;
data.DisciplinaryWitnesses = req.DisciplinaryWitnesses;
data.DisciplinaryRecordAccuser = req.DisciplinaryRecordAccuser;
@ -597,6 +608,24 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
data.LastUpdateFullName = FullName ?? "System Administrator";
data.LastUpdateUserId = UserId ?? "";
data.LastUpdatedAt = DateTime.Now;
if (editExtend == true)
{
var sumExtend = data.DisciplineDisciplinaryExtends.Count();
data.DisciplineDisciplinaryExtends.Add(
new DisciplineDisciplinaryExtend
{
Name = sumExtend > 0 ? "ขยายครั้งที่" + sumExtend : "วันที่สอบสวน",
Num = sumExtend,
DateStart = sumExtend > 0 ? data.DisciplinaryDateEnd.Value.AddDays(data.DisciplinaryDaysExtend == null ? 0 : -(double)data.DisciplinaryDaysExtend) : data.DisciplinaryDateStart,
DateEnd = data.DisciplinaryDateEnd,
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
});
}
_context.DisciplineDisciplinary_DirectorInvestigates.RemoveRange(data.DisciplineDisciplinary_DirectorInvestigates);
foreach (var item in req.directors)
{
@ -1470,5 +1499,32 @@ namespace BMA.EHR.DisciplineDisciplinary.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>
[HttpPost("calendar")]
public async Task<ActionResult<ResponseObject>> GetCalendarDisciplineDisciplinary([FromBody] DisciplineCalendarRequest req)
{
var data = await _context.DisciplineDisciplinarys
.Where(x => x.DisciplinaryDateStart != null)
.Where(x => x.DisciplinaryDateEnd != null)
.Where(x => x.DisciplinaryDateStart.Value.Year == req.year || x.DisciplinaryDateEnd.Value.Year == req.year || x.DisciplinaryDateStart.Value.Month == req.month || x.DisciplinaryDateEnd.Value.Month == req.month)
.Select(x => new
{
Id = x.Id,//id ข้อมูลเรื่องสอบสวน
Title = x.Title,//ชื่อเรื่อง
DisciplinaryDateStart = x.DisciplinaryDateStart,//
DisciplinaryDateEnd = x.DisciplinaryDateEnd,//
})
.OrderBy(d => d.DisciplinaryDateStart.Value.Date)
.ToListAsync();
return Success(data);
}
}
}