migrate retirehistory
This commit is contained in:
parent
0bf0386863
commit
df9c2204d8
12 changed files with 12507 additions and 38 deletions
|
|
@ -164,8 +164,28 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
Year = x.Year,
|
||||
Round = x.Round,
|
||||
Total = x.Total,
|
||||
Json = true,
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
var retire = await _context.RetirementPeriods
|
||||
.Include(x => x.RetirementProfiles)
|
||||
.Where(x => x.Year == year)
|
||||
.Where(x => x.Type.Trim().ToUpper().Contains(type.Trim().ToUpper()))
|
||||
.FirstOrDefaultAsync();
|
||||
if (retire != null)
|
||||
{
|
||||
retire_old.Add(new
|
||||
{
|
||||
Id = retire.Id,
|
||||
CreatedAt = retire.CreatedAt,
|
||||
Year = retire.Year,
|
||||
Round = retire.Round,
|
||||
Total = retire.RetirementProfiles.Count(),
|
||||
Json = false,
|
||||
});
|
||||
}
|
||||
|
||||
return Success(retire_old);
|
||||
}
|
||||
return Success();
|
||||
|
|
@ -224,7 +244,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
var data = new RetirementProfile
|
||||
{
|
||||
Order = order,
|
||||
Remove = "pending",
|
||||
Remove = "PENDING",
|
||||
RetirementPeriod = retire,
|
||||
Profile = profile,
|
||||
CreatedUserId = FullName ?? "",
|
||||
|
|
@ -244,8 +264,32 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
{
|
||||
if (req.Option == null)
|
||||
req.Option = "EDIT";
|
||||
var file_name = DateTime.Now.ToString();
|
||||
var profile = Newtonsoft.Json.JsonConvert.SerializeObject(retire.RetirementProfiles);
|
||||
var file_name = DateTime.Now.ToString("yyyyMMddTHHmmss");
|
||||
var profile_old = await _context.RetirementProfiles
|
||||
.Where(x => x.RetirementPeriod == retire)
|
||||
.Select(x => new
|
||||
{
|
||||
Order = x.Order,
|
||||
Id = x.Id,
|
||||
Reason = x.Reason,
|
||||
Remove = x.Remove,
|
||||
ProfileId = x.Profile.Id,
|
||||
CitizenId = x.Profile.CitizenId,
|
||||
Prefix = x.Profile.Prefix == null ? null : x.Profile.Prefix.Name,
|
||||
FullName = $"{x.Profile.FirstName} {x.Profile.LastName}",
|
||||
OrganizationOrganization = x.Profile.OrganizationOrganization,
|
||||
Oc = x.Profile.Oc,
|
||||
Position = x.Profile.Position == null ? null : x.Profile.Position.Name,
|
||||
PositionType = x.Profile.PositionType == null ? null : x.Profile.PositionType.Name,
|
||||
PositionExecutive = x.Profile.PositionExecutive,
|
||||
PosNo = x.Profile.PosNo == null ? null : x.Profile.PosNo.Name,
|
||||
PositionEmployeePosition = x.Profile.PositionEmployeePosition,
|
||||
PositionEmployeeLevel = x.Profile.PositionEmployeeLevel,
|
||||
PositionEmployeeGroup = x.Profile.PositionEmployeeGroup,
|
||||
PosNoEmployee = x.Profile.PosNoEmployee,
|
||||
})
|
||||
.ToListAsync();
|
||||
var profile = Newtonsoft.Json.JsonConvert.SerializeObject(profile_old);
|
||||
await _documentService.GenerateJsonFile(profile, "/retire", file_name);
|
||||
var history = new RetirementPeriodHistory
|
||||
{
|
||||
|
|
@ -271,15 +315,41 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
retire.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
retire.LastUpdateUserId = UserId ?? "";
|
||||
retire.LastUpdatedAt = DateTime.Now;
|
||||
// RetireHistoryId
|
||||
////ดึงไฟล์json
|
||||
// foreach (var retire_profile in retire.RetirementProfiles)
|
||||
// {
|
||||
// retire_profile.Remove = retire_profile.Remove.Trim().ToUpper().Contains("CHANGE") ? "PENDING" : retire_profile.Remove;
|
||||
// retire_profile.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
// retire_profile.LastUpdateUserId = UserId ?? "";
|
||||
// retire_profile.LastUpdatedAt = DateTime.Now;
|
||||
// }
|
||||
_context.RetirementProfiles.RemoveRange(retire.RetirementProfiles);
|
||||
|
||||
if (!req.Option.Trim().ToUpper().Contains("ADD"))
|
||||
{
|
||||
var profileHistorys = await _context.RetirementPeriodHistorys.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == req.RetireHistoryId);
|
||||
if (profileHistorys == null)
|
||||
return Error(GlobalMessages.InvalidRetirementHistoryRequest, 404);
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
var url = $"https://s3cluster.frappet.com/bma-ehr-fpt/retire/{profileHistorys.ProfileFile}";
|
||||
var responseTask = client.GetAsync(url);
|
||||
var results = responseTask.Result;
|
||||
var profileOlds = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RetirementProfile>>(results.Content.ReadAsStringAsync().Result);
|
||||
if (profileOlds != null)
|
||||
{
|
||||
foreach (var profileOld in profileOlds)
|
||||
{
|
||||
var data = new RetirementProfile
|
||||
{
|
||||
Order = profileOld.Order,
|
||||
Remove = "PENDING",
|
||||
RetirementPeriod = retire,
|
||||
Profile = profileOld.Profile,
|
||||
CreatedUserId = profileOld.CreatedUserId,
|
||||
CreatedFullName = profileOld.CreatedFullName,
|
||||
CreatedAt = profileOld.CreatedAt,
|
||||
LastUpdateFullName = profileOld.LastUpdateFullName,
|
||||
LastUpdateUserId = profileOld.LastUpdateUserId,
|
||||
LastUpdatedAt = profileOld.LastUpdatedAt,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
|
@ -323,12 +393,26 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
[HttpGet("{retireId:length(36)}")]
|
||||
public async Task<ActionResult<ResponseObject>> GetProfileRetirement(Guid retireId)
|
||||
{
|
||||
var retire = await _context.RetirementPeriodHistorys
|
||||
var retire = await _context.RetirementPeriods
|
||||
.Include(x => x.RetirementProfiles)
|
||||
.FirstOrDefaultAsync(x => x.Id == retireId);
|
||||
if (retire == null)
|
||||
return Error(GlobalMessages.InvalidRetirementRequest, 404);
|
||||
{
|
||||
var profileHistorys = await _context.RetirementPeriodHistorys.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == retireId);
|
||||
if (profileHistorys == null)
|
||||
return Error(GlobalMessages.InvalidRetirementHistoryRequest, 404);
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
var url = $"https://s3cluster.frappet.com/bma-ehr-fpt/retire/{profileHistorys.ProfileFile}";
|
||||
var responseTask = client.GetAsync(url);
|
||||
var results = responseTask.Result;
|
||||
// Console.WriteLine(results.Content.ReadAsStringAsync().Result);
|
||||
return Success(new { Json = true, profile = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RetirementProfile>>(results.Content.ReadAsStringAsync().Result) });
|
||||
}
|
||||
}
|
||||
|
||||
return Success(retire);
|
||||
return Success(new { Json = false, profile = retire.RetirementProfiles });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -340,19 +424,19 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpDelete("profile/{retireProfileId:length(36)}")]
|
||||
public async Task<ActionResult<ResponseObject>> DeleteProfileRetirement(Guid retireProfileId)
|
||||
{
|
||||
var profile = await _context.RetirementProfiles
|
||||
.FirstOrDefaultAsync(x => x.Id == retireProfileId);
|
||||
if (profile == null)
|
||||
return Error(GlobalMessages.DataNotFound, 404);
|
||||
// [HttpDelete("profile/{retireProfileId:length(36)}")]
|
||||
// public async Task<ActionResult<ResponseObject>> DeleteProfileRetirement(Guid retireProfileId)
|
||||
// {
|
||||
// var profile = await _context.RetirementProfiles
|
||||
// .FirstOrDefaultAsync(x => x.Id == retireProfileId);
|
||||
// if (profile == null)
|
||||
// return Error(GlobalMessages.DataNotFound, 404);
|
||||
|
||||
_context.RetirementProfiles.Remove(profile);
|
||||
_context.SaveChanges();
|
||||
// _context.RetirementProfiles.Remove(profile);
|
||||
// _context.SaveChanges();
|
||||
|
||||
return Success();
|
||||
}
|
||||
// return Success();
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// Add รายชื่อผู้เกษียณอายุราชการในประกาศ
|
||||
|
|
@ -427,7 +511,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPost("reason")]
|
||||
[HttpPost("edit")]
|
||||
public async Task<ActionResult<ResponseObject>> EditReasonProfileRetirement([FromBody] ProfileRetireRequest req)
|
||||
{
|
||||
var profile = await _context.RetirementProfiles
|
||||
|
|
@ -445,6 +529,44 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// แก้ไขข้อมูลบุคคล
|
||||
/// </summary>
|
||||
/// <param name="retireProfileId">Id ผู้ใช้งานในประกาศ</param>
|
||||
/// <param name="reason">เหตุผล</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200"></response>
|
||||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPost("remove")]
|
||||
public async Task<ActionResult<ResponseObject>> RemoveReasonProfileRetirement([FromBody] ProfileRetireRequest req)
|
||||
{
|
||||
var profile = await _context.RetirementProfiles
|
||||
.Include(x => x.RetirementPeriod)
|
||||
.ThenInclude(x => x.RetirementPeriodHistorys)
|
||||
.FirstOrDefaultAsync(x => x.Id == req.RetireProfileId);
|
||||
if (profile == null)
|
||||
return Error(GlobalMessages.DataNotFound, 404);
|
||||
|
||||
if (profile.RetirementPeriod.RetirementPeriodHistorys.Count() == 0)
|
||||
{
|
||||
await GenOrderByYear(profile.RetirementPeriod.Id);
|
||||
_context.RetirementProfiles.Remove(profile);
|
||||
}
|
||||
else
|
||||
{
|
||||
profile.Remove = "REMOVE";
|
||||
profile.Reason = req.Reason;
|
||||
profile.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
profile.LastUpdateUserId = UserId ?? "";
|
||||
profile.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
_context.SaveChanges();
|
||||
|
||||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// View เหตุผลแก้ไขข้อมูลบุคคล
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue