Compare commits

..

No commits in common. "dev" and "placement-dev1.0.56" have entirely different histories.

3 changed files with 282 additions and 471 deletions

View file

@ -1028,6 +1028,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
on p.Id.ToString() equals r.refId on p.Id.ToString() equals r.refId
@ -1063,95 +1067,52 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// // คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้
// data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
// var _profile = new List<ProfileComplaintInvestigate>();
// DateTime _date = DateTime.Now;
// foreach (var item in data)
// {
// _profile.Add(new ProfileComplaintInvestigate
// {
// PersonId = item.PersonId,
// Prefix = item.Prefix,
// FirstName = item.FirstName,
// LastName = item.LastName,
// CitizenId = item.CitizenId,
// rootDnaId = item.rootDnaId,
// child1DnaId = item.child1DnaId,
// child2DnaId = item.child2DnaId,
// child3DnaId = item.child3DnaId,
// child4DnaId = item.child4DnaId,
// profileType = item.profileType,
// commandType = "C-PM-19",
// CreatedAt = _date,
// CreatedUserId = UserId,
// CreatedFullName = FullName,
// LastUpdatedAt = _date,
// LastUpdateUserId = UserId,
// LastUpdateFullName = FullName,
// });
// }
// _context.ProfileComplaintInvestigate.AddRange(_profile);
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "REPORTED"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? "";
profile.LastUpdatedAt = now;
});
var _profile = new List<ProfileComplaintInvestigate>();
foreach (var item in data)
{
_profile.Add(new ProfileComplaintInvestigate
{ {
PersonId = item.PersonId, data = resultData,
Prefix = item.Prefix,
FirstName = item.FirstName,
LastName = item.LastName,
CitizenId = item.CitizenId,
rootDnaId = item.rootDnaId,
child1DnaId = item.child1DnaId,
child2DnaId = item.child2DnaId,
child3DnaId = item.child3DnaId,
child4DnaId = item.child4DnaId,
profileType = item.profileType,
commandType = "C-PM-19",
CreatedAt = now,
CreatedUserId = UserId ?? "",
CreatedFullName = FullName ?? "System Administrator",
LastUpdatedAt = now,
LastUpdateUserId = UserId ?? "",
LastUpdateFullName = FullName ?? "System Administrator",
}); });
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
//// คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้
// data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
var _profile = new List<ProfileComplaintInvestigate>();
DateTime _date = DateTime.Now;
foreach (var item in data)
{
_profile.Add(new ProfileComplaintInvestigate
{
PersonId = item.PersonId,
Prefix = item.Prefix,
FirstName = item.FirstName,
LastName = item.LastName,
CitizenId = item.CitizenId,
rootDnaId = item.rootDnaId,
child1DnaId = item.child1DnaId,
child2DnaId = item.child2DnaId,
child3DnaId = item.child3DnaId,
child4DnaId = item.child4DnaId,
profileType = item.profileType,
commandType = "C-PM-19",
CreatedAt = _date,
CreatedUserId = UserId,
CreatedFullName = FullName,
LastUpdatedAt = _date,
LastUpdateUserId = UserId,
LastUpdateFullName = FullName,
});
}
_context.ProfileComplaintInvestigate.AddRange(_profile);
await _context.SaveChangesAsync();
}
} }
_context.ProfileComplaintInvestigate.AddRange(_profile); return Success();
await _context.SaveChangesAsync();
// Return resultData for Node to process directly (Linear Flow)
return Success(resultData);
} }
/// <summary> /// <summary>
@ -1223,6 +1184,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
on p.Id.ToString() equals r.refId on p.Id.ToString() equals r.refId
@ -1258,95 +1223,52 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// // คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้
// data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
// var _profile = new List<ProfileComplaintInvestigate>();
// DateTime _date = DateTime.Now;
// foreach (var item in data)
// {
// _profile.Add(new ProfileComplaintInvestigate
// {
// PersonId = item.PersonId,
// Prefix = item.Prefix,
// FirstName = item.FirstName,
// LastName = item.LastName,
// CitizenId = item.CitizenId,
// rootDnaId = item.rootDnaId,
// child1DnaId = item.child1DnaId,
// child2DnaId = item.child2DnaId,
// child3DnaId = item.child3DnaId,
// child4DnaId = item.child4DnaId,
// profileType = item.profileType,
// commandType = "C-PM-20",
// CreatedAt = _date,
// CreatedUserId = UserId,
// CreatedFullName = FullName,
// LastUpdatedAt = _date,
// LastUpdateUserId = UserId,
// LastUpdateFullName = FullName,
// });
// }
// _context.ProfileComplaintInvestigate.AddRange(_profile);
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "REPORTED"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? "";
profile.LastUpdatedAt = now;
});
var _profile = new List<ProfileComplaintInvestigate>();
foreach (var item in data)
{
_profile.Add(new ProfileComplaintInvestigate
{ {
PersonId = item.PersonId, data = resultData,
Prefix = item.Prefix,
FirstName = item.FirstName,
LastName = item.LastName,
CitizenId = item.CitizenId,
rootDnaId = item.rootDnaId,
child1DnaId = item.child1DnaId,
child2DnaId = item.child2DnaId,
child3DnaId = item.child3DnaId,
child4DnaId = item.child4DnaId,
profileType = item.profileType,
commandType = "C-PM-20",
CreatedAt = now,
CreatedUserId = UserId ?? "",
CreatedFullName = FullName ?? "System Administrator",
LastUpdatedAt = now,
LastUpdateUserId = UserId ?? "",
LastUpdateFullName = FullName ?? "System Administrator",
}); });
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
//// คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้
// data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; });
var _profile = new List<ProfileComplaintInvestigate>();
DateTime _date = DateTime.Now;
foreach (var item in data)
{
_profile.Add(new ProfileComplaintInvestigate
{
PersonId = item.PersonId,
Prefix = item.Prefix,
FirstName = item.FirstName,
LastName = item.LastName,
CitizenId = item.CitizenId,
rootDnaId = item.rootDnaId,
child1DnaId = item.child1DnaId,
child2DnaId = item.child2DnaId,
child3DnaId = item.child3DnaId,
child4DnaId = item.child4DnaId,
profileType = item.profileType,
commandType = "C-PM-20",
CreatedAt = _date,
CreatedUserId = UserId,
CreatedFullName = FullName,
LastUpdatedAt = _date,
LastUpdateUserId = UserId,
LastUpdateFullName = FullName,
});
}
_context.ProfileComplaintInvestigate.AddRange(_profile);
await _context.SaveChangesAsync();
}
} }
_context.ProfileComplaintInvestigate.AddRange(_profile); return Success();
await _context.SaveChangesAsync();
// Return resultData for Node to process directly (Linear Flow)
return Success(resultData);
} }
/// <summary> /// <summary>
@ -1496,6 +1418,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
on p.Id.ToString() equals r.refId on p.Id.ToString() equals r.refId
@ -1531,39 +1457,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => profile.Status = "DONE");
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "DONE"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.LastUpdateFullName = FullName ?? "System Administrator"; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateUserId = UserId ?? ""; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdatedAt = now; {
}); data = resultData,
await _context.SaveChangesAsync(); });
//// var _result = await _res.Content.ReadAsStringAsync();
// Return resultData for Node to process directly (Linear Flow) //// if (_res.IsSuccessStatusCode)
return Success(resultData); //// {
//// data.ForEach(profile => profile.Status = "DONE");
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -1651,6 +1562,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
on p.Id.ToString() equals r.refId on p.Id.ToString() equals r.refId
@ -1686,39 +1601,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => profile.Status = "DONE");
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "DONE"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.LastUpdateFullName = FullName ?? "System Administrator"; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateUserId = UserId ?? ""; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdatedAt = now; {
}); data = resultData,
await _context.SaveChangesAsync(); });
//// var _result = await _res.Content.ReadAsStringAsync();
// Return resultData for Node to process directly (Linear Flow) //// if (_res.IsSuccessStatusCode)
return Success(resultData); //// {
//// data.ForEach(profile => profile.Status = "DONE");
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -1804,6 +1704,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
@ -1839,40 +1743,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "NEW"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? ""; {
profile.LastUpdatedAt = now; data = resultData,
}); });
await _context.SaveChangesAsync(); //// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
// Return resultData for Node to process directly (Linear Flow) //// {
return Success(resultData); //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -1958,6 +1846,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
@ -1993,40 +1885,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "NEW"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? ""; {
profile.LastUpdatedAt = now; data = resultData,
}); });
await _context.SaveChangesAsync(); //// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
// Return resultData for Node to process directly (Linear Flow) //// {
return Success(resultData); //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -2112,6 +1988,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
@ -2147,40 +2027,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "NEW"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? ""; {
profile.LastUpdatedAt = now; data = resultData,
}); });
await _context.SaveChangesAsync(); //// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
// Return resultData for Node to process directly (Linear Flow) //// {
return Success(resultData); //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -2266,6 +2130,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
@ -2301,40 +2169,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "NEW"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? ""; {
profile.LastUpdatedAt = now; data = resultData,
}); });
await _context.SaveChangesAsync(); //// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
// Return resultData for Node to process directly (Linear Flow) //// {
return Success(resultData); //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -2420,6 +2272,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
// Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
await _context.SaveChangesAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
join r in req.refIds join r in req.refIds
@ -2455,40 +2311,24 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
#region Old: Circular Flow var baseAPIOrg = _configuration["API"];
// var baseAPIOrg = _configuration["API"]; var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; using (var client = new HttpClient())
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.Status = "NEW"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.CommandTypeId = null; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateFullName = FullName ?? "System Administrator"; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdateUserId = UserId ?? ""; {
profile.LastUpdatedAt = now; data = resultData,
}); });
await _context.SaveChangesAsync(); //// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
// Return resultData for Node to process directly (Linear Flow) //// {
return Success(resultData); //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; });
//// await _context.SaveChangesAsync();
//// }
}
return Success();
} }
/// <summary> /// <summary>
@ -2584,21 +2424,15 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
[HttpPost("command32/report/excecute")] [HttpPost("command32/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportCommand32Execute([FromBody] ReportExecuteRequest req) public async Task<ActionResult<ResponseObject>> PostReportCommand32Execute([FromBody] ReportExecuteRequest req)
{ {
// C-PM-32 (คำสั่งยุติเรื่อง) ต้องยุติงานใน 2 track ที่เก็บอยู่คนละตาราง:
// - data / resultData = ฝั่ง "การสอบสวน" (DisciplineInvestigate_ProfileComplaint)
// - data1 / resultData1 = ฝั่ง "การพิจารณาลงโทษ" (DisciplineDisciplinary_ProfileComplaintInvestigate)
// บุคคลเดียวกัน (profileId เดียวกัน) อาจอยู่ในทั้ง 2 track จึงต้องส่งให้ org แยก 2 ครั้ง (ห้าม merge รวมครั้งเดียว)
var data = await _context.DisciplineInvestigate_ProfileComplaints var data = await _context.DisciplineInvestigate_ProfileComplaints
.Include(x => x.DisciplineInvestigate) .Include(x => x.DisciplineInvestigate)
// .Where(x => x.IsReport == "REPORT") // .Where(x => x.IsReport == "REPORT")
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
var data1 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ
.Include(x => x.DisciplineDisciplinary) data.ForEach(profile => profile.IsReport = "DONE");
// .Where(x => x.IsReport == "REPORT") await _context.SaveChangesAsync();
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
string? _null = null; string? _null = null;
var resultData = (from p in data var resultData = (from p in data
@ -2635,6 +2469,29 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
data = resultData,
});
//// var _result = await _res.Content.ReadAsStringAsync();
//// if (_res.IsSuccessStatusCode)
//// {
//// data.ForEach(profile => profile.IsReport = "DONE");
//// await _context.SaveChangesAsync();
//// }
}
var data1 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
.Include(x => x.DisciplineDisciplinary)
// .Where(x => x.IsReport == "REPORT")
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData1 = (from p in data1 var resultData1 = (from p in data1
join r in req.refIds join r in req.refIds
on p.Id.ToString() equals r.refId on p.Id.ToString() equals r.refId
@ -2668,69 +2525,23 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
posNo = p.posMasterNo != null ? p.posMasterNo.ToString() : null, posNo = p.posMasterNo != null ? p.posMasterNo.ToString() : null,
posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))),
}).ToList(); }).ToList();
using (var client = new HttpClient())
#region Old: Circular Flow
// var baseAPIOrg = _configuration["API"];
// var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data.ForEach(profile => profile.IsReport = "DONE");
// await _context.SaveChangesAsync();
// }
// }
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync(apiUrlOrg, new
// {
// data = resultData1,
// });
// var _result = await _res.Content.ReadAsStringAsync();
// if (_res.IsSuccessStatusCode)
// {
// data1.ForEach(profile => profile.IsReport = "DONE");
// await _context.SaveChangesAsync();
// }
// }
#endregion
// New: Linear Flow
var now = DateTime.Now;
data.ForEach(profile =>
{ {
profile.IsReport = "DONE"; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
profile.LastUpdateFullName = FullName ?? "System Administrator"; client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
profile.LastUpdateUserId = UserId ?? ""; var _res = await client.PostAsJsonAsync(apiUrlOrg, new
profile.LastUpdatedAt = now; {
}); data = resultData1,
data1.ForEach(profile => });
{ var _result = await _res.Content.ReadAsStringAsync();
profile.IsReport = "DONE"; if (_res.IsSuccessStatusCode)
profile.LastUpdateFullName = FullName ?? "System Administrator"; {
profile.LastUpdateUserId = UserId ?? ""; data1.ForEach(profile => profile.IsReport = "DONE");
profile.LastUpdatedAt = now; await _context.SaveChangesAsync();
}); }
await _context.SaveChangesAsync(); }
// Return resultData for Node to process directly (Linear Flow) return Success();
//
// NOTE สำหรับฝั่ง Node (C-PM-32 เท่านั้น):
// - response.result เป็น object { data, data1 } (ไม่ใช่ array เหมือนคำสั่งอื่น)
// data = รายการฝั่ง "การสอบสวน" → ยิง POST {API}/org/command/excexute/salary-leave-discipline ครั้งที่ 1
// data1 = รายการฝั่ง "การพิจารณาลงโทษ" → ยิง POST {API}/org/command/excexute/salary-leave-discipline ครั้งที่ 2
// - ต้องยิง 2 ครั้งตามลำดับ data ก่อน → data1 (ห้าม merge รวมในครั้งเดียว เพราะ profileId อาจซ้ำข้าม 2 track)
// - คำสั่งอื่น (C-PM-19/20/25/26/27/28/29/30/31) response.result เป็น array → ยิง org 1 ครั้ง
return Success(new { data = resultData, data1 = resultData1 });
} }
/// <summary> /// <summary>

View file

@ -2074,7 +2074,7 @@ namespace BMA.EHR.Placement.Service.Controllers
} }
/// <summary> /// <summary>
/// ออกคำสั่ง C-PM-47 โปรดเกล้าฯ แต่งตั้งให้ดำรงตำแหน่ง /// ออกคำสั่ง C-PM-47
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
/// <response code="200"></response> /// <response code="200"></response>

View file

@ -629,7 +629,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
} }
/// <summary> /// <summary>
/// ออกคำสั่ง C-PM-18 ให้ออกจากราชการ && C-PM-43 ให้ลูกจ้างออกจากราชการ /// ออกคำสั่ง C-PM-18 คำสั่งให้ออกจากราชการ
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
/// <response code="200"></response> /// <response code="200"></response>