ออกคำสั่ง

This commit is contained in:
kittapath 2024-10-04 15:36:34 +07:00
parent 604b234c4b
commit 1290da7211
14 changed files with 1979 additions and 2004 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,25 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Discipline.Service.Requests
{
public class ReportAttachmentRequest
{
public ReportAttachmentRequestObj[] refIds { get; set; }
}
public class ReportAttachmentRequestObj
{
public string? refId { get; set; }
public int? Sequence { get; set; }
public string? CitizenId { get; set; }
public string? Prefix { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public double? Amount { get; set; }
public double? PositionSalaryAmount { get; set; }
public double? MouthSalaryAmount { get; set; }
public string? RemarkHorizontal { get; set; }
public string? RemarkVertical { get; set; }
public int CommandYear { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Discipline.Service.Requests
{
public class ReportExecuteRequest
{
public ReportExecuteRequestObj[] refIds { get; set; }
}
public class ReportExecuteRequestObj
{
public string? refId { get; set; }
public DateTime commandAffectDate { get; set; }
public string? commandNo { get; set; }
public int commandYear { get; set; }
public string? templateDoc { get; set; }
public double? amount { get; set; }
public double? positionSalaryAmount { get; set; }
public double? mouthSalaryAmount { get; set; }
}
}

View file

@ -0,0 +1,10 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Discipline.Service.Requests
{
public class ReportPersonRequest
{
public string[] refIds { get; set; }
}
}

View file

@ -824,7 +824,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-05
/// ออกคำสั่ง C-PM-05 คำสั่งแต่งตั้ง
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -834,68 +834,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("appoint/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteAppoint([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementAppointments
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementAppointments
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
if (placementProfile == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -981,7 +966,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-06
/// ออกคำสั่ง C-PM-06 เลื่อนข้าราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -991,68 +976,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("slip/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteSlip([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementAppointments
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementAppointments
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
if (placementProfile == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -1138,7 +1108,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-07
/// ออกคำสั่ง C-PM-07 ย้ายข้าราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1148,65 +1118,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("move/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteMove([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementAppointments
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementAppointments
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -1289,7 +1247,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-22
/// ออกคำสั่ง C-PM-22 คำสั่งปรับระดับชั้นงาน
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1299,63 +1257,50 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("employee-appoint/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteEmployeeAppoint([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementAppointments
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current";
using (var client = new HttpClient())
{
var data = await _context.PlacementAppointments
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
continue;
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile-employee/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileEmployeeId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.posMasterNo == null ? "" :
data.node == 4 ? $"{data.child4ShortName}{data.posMasterNo}" :
data.node == 3 ? $"{data.child3ShortName}{data.posMasterNo}" :
data.node == 2 ? $"{data.child2ShortName}{data.posMasterNo}" :
data.node == 1 ? $"{data.child1ShortName}{data.posMasterNo}" :
data.node == 0 ? $"{data.rootShortName}{data.posMasterNo}" : "",
position = data.position,
positionType = data.posTypeName,
positionLevel = data.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/employee/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = data.posmasterId,
positionId = data.positionId,
profileId = data.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -1438,7 +1383,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-24
/// ออกคำสั่ง C-PM-24 คำสั่งย้ายลูกจ้างประจำ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1448,63 +1393,50 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("employee-move/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteEmployeeMove([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementAppointments
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current";
using (var client = new HttpClient())
{
var data = await _context.PlacementAppointments
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile-employee/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileEmployeeId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.posMasterNo == null ? "" :
data.node == 4 ? $"{data.child4ShortName}{data.posMasterNo}" :
data.node == 3 ? $"{data.child3ShortName}{data.posMasterNo}" :
data.node == 2 ? $"{data.child2ShortName}{data.posMasterNo}" :
data.node == 1 ? $"{data.child1ShortName}{data.posMasterNo}" :
data.node == 0 ? $"{data.rootShortName}{data.posMasterNo}" : "",
position = data.position,
positionType = data.posTypeName,
positionLevel = data.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/employee/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = data.posmasterId,
positionId = data.positionId,
profileId = data.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -1545,7 +1545,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-01
/// ออกคำสั่ง C-PM-01 บรรจุและแต่งตั้งผู้สอบแข่งขันได้
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1818,7 +1818,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-02
/// ออกคำสั่ง C-PM-02 บรรจุและแต่งตั้งผู้ได้รับคัดเลือก
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -2101,7 +2101,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-03
/// ออกคำสั่ง C-PM-03 แต่งตั้งข้าราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -2111,66 +2111,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("appoint/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteAppoint([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementProfiles
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementProfiles
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.PlacementStatus = "CONTAIN");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.PlacementStatus = "CONTAIN";
await _context.SaveChangesAsync();
}
return Success();
}
@ -2268,7 +2255,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-04
/// ออกคำสั่ง C-PM-04 ย้ายข้าราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -2278,66 +2265,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("move/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteMove([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementProfiles
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementProfiles
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.PlacementStatus = "CONTAIN");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.PlacementStatus = "CONTAIN";
await _context.SaveChangesAsync();
}
return Success();
}
@ -2435,7 +2409,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-39
/// ออกคำสั่ง C-PM-39 เลื่อนข้าราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -2445,66 +2419,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("slip/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteSlip([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementProfiles
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
var placementProfile = await _context.PlacementProfiles
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
continue;
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.PlacementStatus = "CONTAIN");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.PlacementStatus = "CONTAIN";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -634,7 +634,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-15
/// ออกคำสั่ง C-PM-15 คำสั่งให้ช่วยราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -644,46 +644,46 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementOfficers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary";
using (var client = new HttpClient())
{
var data = await _context.PlacementOfficers
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -960,7 +960,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-14
/// ออกคำสั่ง C-PM-14 คำสั่งรับโอนข้าราชการกรุงเทพมหานครสามัญ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -970,68 +970,53 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementReceives
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.posMasterNo == null ? "" :
p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}" :
p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}" :
p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}" :
p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}" :
p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}" : "",
position = p.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.posTypeName,
positionLevel = p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current";
using (var client = new HttpClient())
{
// query placement Profile
var placementProfile = await _context.PlacementReceives
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.posTypeName,
positionLevel = placementProfile.posLevelName,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
posmasterId = placementProfile.posmasterId,
positionId = placementProfile.positionId,
profileId = placementProfile.profileId,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -496,7 +496,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-16
/// ออกคำสั่ง C-PM-16 คำสั่งส่งตัวกลับ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -506,46 +506,46 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementRepatriations
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary";
using (var client = new HttpClient())
{
var data = await _context.PlacementRepatriations
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -827,7 +827,7 @@ namespace BMA.EHR.Placement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-13
/// ออกคำสั่ง C-PM-13 คำสั่งให้โอนข้าราชการกรุงเทพมหานครสามัญ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -837,46 +837,46 @@ namespace BMA.EHR.Placement.Service.Controllers
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.PlacementTransfers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary";
using (var client = new HttpClient())
{
var data = await _context.PlacementTransfers
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -703,7 +703,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-08
/// ออกคำสั่ง C-PM-08 บรรจุและแต่งตั้งข้าราชการกลับเข้ารับราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -713,62 +713,50 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("appoint/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteAppoint([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementOthers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
string? _null = null;
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = false,
leaveReason = _null,
dateLeave = _null,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave";
using (var client = new HttpClient())
{
var placementProfile = await _context.RetirementOthers
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.PositionNumberOld,
position = placementProfile.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.PositionTypeOld,
positionLevel = placementProfile.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPILeave = _configuration["API"];
var apiUrlLeave = $"{baseAPI}/org/profile/leave/{placementProfile.profileId}";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlLeave);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrlLeave, new
{
isLeave = false,
leaveReason = _null,
dateLeave = _null,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -851,7 +839,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-09
/// ออกคำสั่ง C-PM-09 คำสั่งบรรจุและแต่งตั้งผู้ออกไปรับราชการทหารกลับเข้ารับราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -861,62 +849,50 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("out/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteOut([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementOthers
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
string? _null = null;
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = false,
leaveReason = _null,
dateLeave = _null,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave";
using (var client = new HttpClient())
{
var placementProfile = await _context.RetirementOthers
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (placementProfile == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = placementProfile.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = placementProfile.PositionNumberOld,
position = placementProfile.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = placementProfile.PositionTypeOld,
positionLevel = placementProfile.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var baseAPILeave = _configuration["API"];
var apiUrlLeave = $"{baseAPI}/org/profile/leave/{placementProfile.profileId}";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlLeave);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrlLeave, new
{
isLeave = false,
leaveReason = _null,
dateLeave = _null,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
placementProfile.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -487,7 +487,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
/// <summary>
/// ออกคำสั่ง C-PM-18
/// ออกคำสั่ง C-PM-18 คำสั่งให้ออกจากราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -497,62 +497,49 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteLeave([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementOuts
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = true,
leaveReason = "ให้ออกจากราชการ",
dateLeave = r.commandAffectDate,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave";
using (var client = new HttpClient())
{
var data = await _context.RetirementOuts
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrl = $"{baseAPI}/org/profile/leave/{data.profileId}";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
isLeave = true,
leaveReason = "ให้ออกจากราชการ",
dateLeave = recv.commandAffectDate,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}

View file

@ -1695,7 +1695,7 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
}
/// <summary>
/// ออกคำสั่ง C-PM-17
/// ออกคำสั่ง C-PM-17 คำสั่งอนุญาตให้ข้าราชการลาออกจากราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1705,62 +1705,49 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementResigns
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = true,
leaveReason = "ลาออกจากราชการ",
dateLeave = r.commandAffectDate,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave";
using (var client = new HttpClient())
{
var data = await _context.RetirementResigns
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrl = $"{baseAPI}/org/profile/leave/{data.profileId}";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
isLeave = true,
leaveReason = "ลาออกจากราชการ",
dateLeave = recv.commandAffectDate,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -1833,7 +1820,7 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
}
/// <summary>
/// ออกคำสั่ง C-PM-23
/// ออกคำสั่ง C-PM-23 คำสั่งให้ลูกจ้างออกจากราชการ
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1843,36 +1830,46 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPost("employee/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteEmployee([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementResigns
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = true,
leaveReason = "ลาออกจากราชการ",
dateLeave = r.commandAffectDate,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave";
using (var client = new HttpClient())
{
var data = await _context.RetirementResigns
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrl = $"{baseAPI}/org/profile-employee/salary/{data.profileId}";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Put, apiUrl);
var _res = await client.PutAsJsonAsync(apiUrl, new
{
isLeave = true,
leaveReason = "ลาออกจากราชการ",
dateLeave = recv.commandAffectDate,
});
var _result = await _res.Content.ReadAsStringAsync();
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
data.ForEach(profile => profile.Status = "DONE");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONE";
await _context.SaveChangesAsync();
}
return Success();
}
@ -1945,7 +1942,7 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
}
/// <summary>
/// ออกคำสั่ง C-PM-41
/// ออกคำสั่ง C-PM-41 คำสั่งยกเลิกการลาออก
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
@ -1955,63 +1952,50 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPost("leave-cancel/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteLeaveCancel([FromBody] ReportExecuteRequest req)
{
// create new profile
foreach (var recv in req.refIds)
var data = await _context.RetirementResigns
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync();
string? _null = null;
var resultData = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
profileId = p.profileId,
date = r.commandAffectDate,
amount = r.amount,
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
posNo = p.PositionNumberOld,
position = p.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = p.PositionTypeOld,
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isLeave = false,
leaveReason = _null,
dateLeave = _null,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave";
using (var client = new HttpClient())
{
var data = await _context.RetirementResigns
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(recv.refId));
if (data == null)
throw new Exception(GlobalMessages.DataNotFound);
var baseAPI = _configuration["API"];
var apiUrl = $"{baseAPI}/org/profile/leave/{data.profileId}";
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
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrl, new
{
isLeave = false,
leaveReason = _null,
dateLeave = _null,
});
var _result = await _res.Content.ReadAsStringAsync();
}
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
using (var client = new HttpClient())
data = resultData,
});
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = data.profileId,
date = recv.commandAffectDate,
amount = recv.amount,
positionSalaryAmount = recv.positionSalaryAmount,
mouthSalaryAmount = recv.mouthSalaryAmount,
posNo = data.PositionNumberOld,
position = data.PositionOld,
positionLine = "",
positionPathSide = "",
positionExecutive = "",
positionType = data.PositionTypeOld,
positionLevel = data.PositionLevelOld,
refCommandNo = $"{recv.commandNo}/{recv.commandYear.ToThaiYear()}",
templateDoc = recv.templateDoc,
});
var _result = await _res.Content.ReadAsStringAsync();
data.ForEach(profile => profile.Status = "DONEREJECT");
await _context.SaveChangesAsync();
}
// update placementstatus
data.Status = "DONEREJECT";
await _context.SaveChangesAsync();
}
return Success();
}