diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs index f6697c2e..35a9dfa2 100644 --- a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs +++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs @@ -1028,6 +1028,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds 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 : "")))), }).ToList(); - #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) - // { - // // คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้ - // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - // var _profile = new List(); - // 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 => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "REPORTED"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - - var _profile = new List(); - foreach (var item in data) - { - _profile.Add(new ProfileComplaintInvestigate + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + var _res = await client.PostAsJsonAsync(apiUrlOrg, new { - 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 = now, - CreatedUserId = UserId ?? "", - CreatedFullName = FullName ?? "System Administrator", - LastUpdatedAt = now, - LastUpdateUserId = UserId ?? "", - LastUpdateFullName = FullName ?? "System Administrator", + 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(); + 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); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + return Success(); } /// @@ -1223,6 +1184,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds 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 : "")))), }).ToList(); - #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) - // { - // // คำสั่งไล่ออก หรือ ปลดออก Status หลังออกคำสั่งใช้ "REPORTED" เพื่อไม่ให้ส่งรายชื่อไปออกคำสั่งซ้ำได้ - // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - // var _profile = new List(); - // 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 => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "REPORTED"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - - var _profile = new List(); - foreach (var item in data) - { - _profile.Add(new ProfileComplaintInvestigate + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + var _res = await client.PostAsJsonAsync(apiUrlOrg, new { - 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 = now, - CreatedUserId = UserId ?? "", - CreatedFullName = FullName ?? "System Administrator", - LastUpdatedAt = now, - LastUpdateUserId = UserId ?? "", - LastUpdateFullName = FullName ?? "System Administrator", + 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(); + 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); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + return Success(); } /// @@ -1496,6 +1418,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds 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 : "")))), }).ToList(); - #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.Status = "DONE"); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "DONE"; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -1651,6 +1562,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds 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 : "")))), }).ToList(); - #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.Status = "DONE"); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "DONE"; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -1804,6 +1704,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data 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 : "")))), }).ToList(); - #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.Status = "NEW"; profile.CommandTypeId = null; }); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "NEW"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -1958,6 +1846,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data 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 : "")))), }).ToList(); - #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.Status = "NEW"; profile.CommandTypeId = null; }); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "NEW"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -2112,6 +1988,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data 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 : "")))), }).ToList(); - #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.Status = "NEW"; profile.CommandTypeId = null; }); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "NEW"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -2266,6 +2130,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data 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 : "")))), }).ToList(); - #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.Status = "NEW"; profile.CommandTypeId = null; }); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "NEW"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -2420,6 +2272,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data 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 : "")))), }).ToList(); - #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.Status = "NEW"; profile.CommandTypeId = null; }); - // await _context.SaveChangesAsync(); - // } - // } - #endregion - - // New: Linear Flow - var now = DateTime.Now; - data.ForEach(profile => + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + using (var client = new HttpClient()) { - profile.Status = "NEW"; - profile.CommandTypeId = null; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); - - // Return resultData for Node to process directly (Linear Flow) - return Success(resultData); + 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(); + //// } + } + return Success(); } /// @@ -2584,21 +2424,15 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers [HttpPost("command32/report/excecute")] public async Task> 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 .Include(x => x.DisciplineInvestigate) // .Where(x => x.IsReport == "REPORT") .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - 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(); + // Task #224 ปรับให้เป็น process ที่ควรบันทึกตามลำดับ + data.ForEach(profile => profile.IsReport = "DONE"); + await _context.SaveChangesAsync(); string? _null = null; 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 : "")))), }).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 join r in req.refIds 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, 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(); - - #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 => + using (var client = new HttpClient()) { - profile.IsReport = "DONE"; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - data1.ForEach(profile => - { - profile.IsReport = "DONE"; - profile.LastUpdateFullName = FullName ?? "System Administrator"; - profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = now; - }); - await _context.SaveChangesAsync(); + 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(); + } + } - // Return resultData for Node to process directly (Linear Flow) - // - // 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 }); + return Success(); } /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index fe2b519a..c7cbf249 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -2074,7 +2074,7 @@ namespace BMA.EHR.Placement.Service.Controllers } /// - /// ออกคำสั่ง C-PM-47 โปรดเกล้าฯ แต่งตั้งให้ดำรงตำแหน่ง + /// ออกคำสั่ง C-PM-47 /// /// /// diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index 4ef0e395..003166f9 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -629,7 +629,7 @@ namespace BMA.EHR.Retirement.Service.Controllers } /// - /// ออกคำสั่ง C-PM-18 ให้ออกจากราชการ && C-PM-43 ให้ลูกจ้างออกจากราชการ + /// ออกคำสั่ง C-PM-18 คำสั่งให้ออกจากราชการ /// /// ///