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

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

View file

@ -246,6 +246,13 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
InvestigationCauseText = x.InvestigationCauseText,
InvestigationExtendStatus = x.InvestigationExtendStatus,
InvestigationDaysExtend = x.InvestigationDaysExtend,
InvestigationExtendHistory = x.DisciplineInvestigateExtends.Select(e => new
{
Name = e.Name,
Num = e.Num,
DateStart = e.DateStart,
DateEnd = e.DateEnd,
}),
Status = x.Status,//สถานะเรื่องสืบสวน
Result = x.Result,//ผลการตรวจสอบ
Director = x.DisciplineInvestigate_Directors.Select(d => new
@ -322,6 +329,7 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
_data.InvestigationCauseText,
_data.InvestigationExtendStatus,
_data.InvestigationDaysExtend,
_data.InvestigationExtendHistory,
_data.Status,
_data.Result,
_data.Director,
@ -346,6 +354,7 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
public async Task<ActionResult<ResponseObject>> UpdateDisciplineInvestigate([FromBody] DisciplineInvestigateRequest req, Guid id)
{
var data = await _context.DisciplineInvestigates
.Include(x => x.DisciplineInvestigateExtends)
.Include(x => x.DisciplineInvestigate_ProfileComplaints)
.Include(x => x.DisciplineInvestigate_Directors)
.ThenInclude(x => x.DisciplineDirector)
@ -355,6 +364,8 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
if (data.Status.Trim().ToUpper() != "NEW")
return Error(new Exception("ไม่สามารถแก้ไขข้อมูลนี้ได้"), StatusCodes.Status500InternalServerError);
var editExtend = false;
if (data.InvestigationDateEnd != req.investigationDateEnd) editExtend = true;
data.InvestigationDetail = req.investigationDetail.Trim().ToUpper();
data.InvestigationDetailOther = req.investigationDetailOther;
@ -369,6 +380,24 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
data.LastUpdateFullName = FullName ?? "System Administrator";
data.LastUpdateUserId = UserId ?? "";
data.LastUpdatedAt = DateTime.Now;
if (editExtend == true)
{
var sumExtend = data.DisciplineInvestigateExtends.Count();
data.DisciplineInvestigateExtends.Add(
new DisciplineInvestigateExtend
{
Name = sumExtend > 0 ? "ขยายครั้งที่" + sumExtend : "วันที่สืบสวน",
Num = sumExtend,
DateStart = sumExtend > 0 ? data.InvestigationDateEnd.Value.AddDays(data.InvestigationDaysExtend == null ? 0 : -(double)data.InvestigationDaysExtend) : data.InvestigationDateStart,
DateEnd = data.InvestigationDateEnd,
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
});
}
_context.DisciplineInvestigate_Directors.RemoveRange(data.DisciplineInvestigate_Directors);
foreach (var item in req.directors)
{
@ -881,5 +910,32 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
return Error(new Exception("ไม่พบไฟล์นี้ในระบบ"), (int)StatusCodes.Status404NotFound);
}
}
/// <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>> GetCalendarDisciplineInvestigate([FromBody] DisciplineCalendarRequest req)
{
var data = await _context.DisciplineInvestigates
.Where(x => x.InvestigationDateStart != null)
.Where(x => x.InvestigationDateEnd != null)
.Where(x => x.InvestigationDateStart.Value.Year == req.year || x.InvestigationDateEnd.Value.Year == req.year || x.InvestigationDateStart.Value.Month == req.month || x.InvestigationDateEnd.Value.Month == req.month)
.Select(x => new
{
Id = x.Id,//id ข้อมูลเรื่องสืบสวน
Title = x.Title,//ชื่อเรื่อง
InvestigationDateStart = x.InvestigationDateStart,//
InvestigationDateEnd = x.InvestigationDateEnd,//
})
.OrderBy(d => d.InvestigationDateStart.Value.Date)
.ToListAsync();
return Success(data);
}
}
}

View file

@ -112,6 +112,7 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
.Select(x => new
{
Id = x.Id,
PersonId = x.PersonId,
CitizenId = x.CitizenId,
Prefix = x.Prefix,
FirstName = x.FirstName,