diff --git a/.github/workflows/release_discipline.yaml b/.github/workflows/release_discipline.yaml
index 2dc3f5db..6d240854 100644
--- a/.github/workflows/release_discipline.yaml
+++ b/.github/workflows/release_discipline.yaml
@@ -67,21 +67,21 @@ jobs:
docker-compose pull
docker-compose up -d
echo "${{ steps.gen_ver.outputs.image_ver }}"> success
- # - uses: snow-actions/line-notify@v1.1.0
- # if: success()
- # with:
- # access_token: ${{ env.TOKEN_LINE }}
- # message: |
- # -Success✅✅✅
- # Image: ${{env.IMAGE_NAME}}
- # Version: ${{ github.event.inputs.IMAGE_VER }}
- # By: ${{secrets.DOCKER_USER}}
- # - uses: snow-actions/line-notify@v1.1.0
- # if: failure()
- # with:
- # access_token: ${{ env.TOKEN_LINE }}
- # message: |
- # -Failure❌❌❌
- # Image: ${{env.IMAGE_NAME}}
- # Version: ${{ github.event.inputs.IMAGE_VER }}
- # By: ${{secrets.DOCKER_USER}}
+ - uses: snow-actions/line-notify@v1.1.0
+ if: success()
+ with:
+ access_token: ${{ env.TOKEN_LINE }}
+ message: |
+ -Success✅✅✅
+ Image: ${{env.IMAGE_NAME}}
+ Version: ${{ github.event.inputs.IMAGE_VER }}
+ By: ${{secrets.DOCKER_USER}}
+ - uses: snow-actions/line-notify@v1.1.0
+ if: failure()
+ with:
+ access_token: ${{ env.TOKEN_LINE }}
+ message: |
+ -Failure❌❌❌
+ Image: ${{env.IMAGE_NAME}}
+ Version: ${{ github.event.inputs.IMAGE_VER }}
+ By: ${{secrets.DOCKER_USER}}
diff --git a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
index fcb842f2..2af5da0a 100644
--- a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
+++ b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
@@ -158,6 +158,30 @@ namespace BMA.EHR.Application.Repositories.Commands
case "C-PM-24":
result = await GetReceiver24Async(command);
break;
+ case "C-PM-25":
+ result = await GetReceiver25Async(command, token);
+ break;
+ case "C-PM-26":
+ result = await GetReceiver26Async(command, token);
+ break;
+ case "C-PM-27":
+ result = await GetReceiver27Async(command, token);
+ break;
+ case "C-PM-28":
+ result = await GetReceiver28Async(command, token);
+ break;
+ case "C-PM-29":
+ result = await GetReceiver29Async(command, token);
+ break;
+ case "C-PM-30":
+ result = await GetReceiver30Async(command, token);
+ break;
+ case "C-PM-31":
+ result = await GetReceiver31Async(command, token);
+ break;
+ case "C-PM-32":
+ result = await GetReceiver32Async(command, token);
+ break;
default: throw new Exception(GlobalMessages.MethodForCommandTypeNotImplement);
}
@@ -1659,6 +1683,497 @@ namespace BMA.EHR.Application.Repositories.Commands
}
}
+ ///
+ /// C-PM-25
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver25Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/stop";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-26
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver26Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/stop";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-27
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver27Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/up";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-28
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver28Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/up";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-29
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver29Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/up";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-30
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver30Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/down";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-31
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver31Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/down";
+
+ var commandType = await _dbContext.Set()
+ .Where(x => x.CommandCode.Trim().ToUpper() == "C-PM-25")
+ .FirstOrDefaultAsync();
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ if (commandType == null || commandType.Id != d.CommandId)
+ continue;
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// C-PM-32
+ ///
+ /// object ของรายการคำสั่ง
+ ///
+ private async Task> GetReceiver32Async(Command command, string token)
+ {
+ try
+ {
+ var resultData = new List();
+
+ var baseAPI = _configuration["API"];
+ var apiUrl = $"{baseAPI}/discipline/result/report/reject";
+
+ var response = new PassDisciplineResponse();
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
+ var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
+ var res = await client.SendAsync(req);
+ var result = await res.Content.ReadAsStringAsync();
+
+ response = JsonConvert.DeserializeObject(result);
+
+ var seq = 1;
+ foreach (var d in response!.result)
+ {
+ var pf = await _dbContext.Set()
+ .Include(x => x.Prefix)
+ .FirstOrDefaultAsync(x => x.Id == d.id);
+
+ if (pf != null)
+ {
+ var receiver = new CommandReceiver
+ {
+ Sequence = seq,
+ CitizenId = pf.CitizenId!,
+ Prefix = pf.Prefix!.Name,
+ FirstName = pf.FirstName!,
+ LastName = pf.LastName!,
+ RefPlacementProfileId = pf.Id,
+ };
+ seq++;
+
+ resultData.Add(receiver);
+ }
+ }
+ }
+
+ return resultData;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
#endregion
#region " Execute and Deploy "
@@ -1737,6 +2252,30 @@ namespace BMA.EHR.Application.Repositories.Commands
case "C-PM-24":
await ExecuteCommand24Async(command);
break;
+ // case "C-PM-25":
+ // await ExecuteCommand25Async(command);
+ // break;
+ // case "C-PM-26":
+ // await ExecuteCommand26Async(command);
+ // break;
+ // case "C-PM-27":
+ // await ExecuteCommand27Async(command);
+ // break;
+ // case "C-PM-28":
+ // await ExecuteCommand28Async(command);
+ // break;
+ // case "C-PM-29":
+ // await ExecuteCommand29Async(command);
+ // break;
+ // case "C-PM-30":
+ // await ExecuteCommand30Async(command);
+ // break;
+ // case "C-PM-31":
+ // await ExecuteCommand31Async(command);
+ // break;
+ // case "C-PM-32":
+ // await ExecuteCommand32Async(command);
+ // break;
default: throw new Exception(GlobalMessages.MethodForCommandTypeNotImplement);
}
diff --git a/BMA.EHR.Application/Responses/PassDisciplineResponse.cs b/BMA.EHR.Application/Responses/PassDisciplineResponse.cs
new file mode 100644
index 00000000..e458266b
--- /dev/null
+++ b/BMA.EHR.Application/Responses/PassDisciplineResponse.cs
@@ -0,0 +1,16 @@
+namespace BMA.EHR.Application.Responses
+{
+ public class PassDisciplineResponse
+ {
+ // public bool successful { get; set; }
+
+ public List result { get; set; } = new();
+ }
+
+ public class DisciplineDataResponse
+ {
+ public Guid id { get; set; } = Guid.Empty;
+
+ public Guid? CommandId { get; set; } = Guid.Empty;
+ }
+}
diff --git a/BMA.EHR.Command.Service/Controllers/OrderController.cs b/BMA.EHR.Command.Service/Controllers/OrderController.cs
index 88df1f0a..c907406c 100644
--- a/BMA.EHR.Command.Service/Controllers/OrderController.cs
+++ b/BMA.EHR.Command.Service/Controllers/OrderController.cs
@@ -290,6 +290,14 @@ namespace BMA.EHR.Command.Service.Controllers
return Success(new { result = "N" });
}
case "C-PM-24":
+ case "C-PM-25":
+ case "C-PM-26":
+ case "C-PM-27":
+ case "C-PM-28":
+ case "C-PM-29":
+ case "C-PM-30":
+ case "C-PM-31":
+ case "C-PM-32":
default:
{
if (command.CommandNo != "" &&
@@ -2936,6 +2944,798 @@ namespace BMA.EHR.Command.Service.Controllers
#endregion
+ #region " C-PM-25 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-25
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-25/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType25Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-25
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-25/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType25Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-26 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-26
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-26/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType26Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-26
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-26/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType26Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-27 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-27
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-27/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType27Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-27
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-27/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType27Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-28 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-28
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-28/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType28Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-28
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-28/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType28Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-29 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-29
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-29/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType29Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-29
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-29/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType29Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-30 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-30
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-30/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType30Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-30
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-30/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType30Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-31 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-31
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-31/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType31Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-31
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-31/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType31Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region " C-PM-32 "
+
+ ///
+ /// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-32
+ ///
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("c-pm-32/detail")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PostType32Async([FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+
+ var inserted = new Domain.Models.Commands.Core.Command
+ {
+ CommandNo = req.orderNo,
+ CommandYear = req.orderYear.ToString(),
+ CommandSubject = req.orderTitle,
+ CommandTypeId = req.orderTypeValue,
+ IssuerOrganizationId = req.orderBy,
+ IssuerOrganizationName = req.orderByOrganizationName,
+ AuthorizedUserFullName = req.signatoryBy,
+ AuthorizedPosition = req.signatoryPosition,
+ CommandAffectDate = req.orderDate,
+ OwnerGovId = OcId,
+
+ CaseFault = req.caseFault,
+ FaultLevel = req.faultLevel,
+ RefRaw = req.refRaw,
+ Result = req.result,
+ };
+
+ var result = await _repository.AddAsync(inserted);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ ///
+ /// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-32
+ ///
+ /// Record Id ของคำสั่ง
+ ///
+ /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("c-pm-32/detail/{orderId}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> PutType32Async(Guid orderId, [FromBody] CreateCommandGroup13Request req)
+ {
+ try
+ {
+ var order = await _repository.GetByIdAsync(orderId);
+ if (order == null)
+ throw new Exception(GlobalMessages.CommandNotFound);
+
+
+ var commandType = await _commandTypeRepository.GetByIdAsync(req.orderTypeValue);
+ var status = await _commandStatusRepository.GetByIdAsync(order.CommandStatusId);
+
+ order.CommandNo = req.orderNo;
+ order.CommandYear = req.orderYear.ToString();
+ order.CommandSubject = req.orderTitle;
+ order.CommandType = commandType!;
+ order.IssuerOrganizationId = req.orderBy;
+ order.IssuerOrganizationName = req.orderByOrganizationName;
+ order.AuthorizedUserFullName = req.signatoryBy;
+ order.AuthorizedPosition = req.signatoryPosition;
+ order.CommandStatus = status!;
+ order.CommandAffectDate = req.orderDate;
+ order.CaseFault = req.caseFault;
+ order.FaultLevel = req.faultLevel;
+ order.RefRaw = req.refRaw;
+ order.Result = req.result;
+
+ var result = await _repository.UpdateAsync(order);
+
+ return Success(result);
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
#endregion
///
diff --git a/BMA.EHR.Command.Service/Requests/CreateCommandGroup13Request.cs b/BMA.EHR.Command.Service/Requests/CreateCommandGroup13Request.cs
new file mode 100644
index 00000000..a9f88cf9
--- /dev/null
+++ b/BMA.EHR.Command.Service/Requests/CreateCommandGroup13Request.cs
@@ -0,0 +1,19 @@
+namespace BMA.EHR.Command.Service.Requests
+{
+ public class CreateCommandGroup13Request
+ {
+ public string caseFault { get; set; }
+ public string faultLevel { get; set; }
+ public string refRaw { get; set; }
+ public string result { get; set; }
+ public Guid orderBy { get; set; }
+ public string orderByOrganizationName { get; set; } = string.Empty;
+ public DateTime orderDate { get; set; }
+ public string orderTitle { get; set; } = string.Empty;
+ public string orderNo { get; set; } = string.Empty;
+ public Guid orderTypeValue { get; set; }
+ public int orderYear { get; set; }
+ public string signatoryBy { get; set; } = string.Empty;
+ public string signatoryPosition { get; set; } = string.Empty;
+ }
+}
diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs
index b47ebc7f..a53af250 100644
--- a/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs
+++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs
@@ -180,7 +180,7 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
}
///
- /// สร้างรายการยื่นอุทธรณ์/ร้องทุกข์ (USER/ADMIN)
+ /// สร้างรายการยื่นอุทธรณ์/ร้องทุกข์ (USER)
///
///
///
@@ -262,6 +262,89 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
return Success(disciplineComplaint_Appeal.Id);
}
+ ///
+ /// สร้างรายการยื่นอุทธรณ์/ร้องทุกข์ (ADMIN)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost("admin")]
+ public async Task> CreateDisciplineAdmin([FromForm] DisciplineComplaint_AppealRequest req)
+ {
+ var disciplineComplaint_Appeal = new Domain.Models.Discipline.DisciplineComplaint_Appeal
+ {
+ Title = req.Title,
+ Description = req.Description,
+ Status = "NEW",
+ Type = req.Type.Trim().ToUpper(),
+ Year = req.Year == null ? DateTime.Now.Year : req.Year,
+ CaseType = req.CaseType,
+ CaseNumber = req.CaseNumber,
+ Fullname = req.Fullname,
+ CitizenId = req.CitizenId,
+ ProfileId = req.ProfileId,
+ Position = req.Position,
+ Oc = req.Oc,
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ var disciplineComplaint_Appeal_History = new DisciplineComplaint_Appeal_History
+ {
+ DisciplineComplaint_Appeal = disciplineComplaint_Appeal,
+ Status = "NEW",
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ // await _context.DisciplineComplaint_Appeals.AddAsync(disciplineComplaint_Appeal);
+ await _context.DisciplineComplaint_Appeal_Historys.AddAsync(disciplineComplaint_Appeal_History);
+ await _context.SaveChangesAsync();
+ if (Request.Form.Files != null && Request.Form.Files.Count != 0)
+ {
+ foreach (var file in Request.Form.Files)
+ {
+ var fileExtension = Path.GetExtension(file.FileName);
+ var doc = await _documentService.UploadFileAsync(file, file.FileName);
+ var _doc = await _context.Documents.AsQueryable()
+ .FirstOrDefaultAsync(x => x.Id == doc.Id);
+ if (_doc != null)
+ {
+ var disciplineComplaint_Appeal_Doc = new DisciplineComplaint_Appeal_Doc
+ {
+ DisciplineComplaint_Appeal = disciplineComplaint_Appeal,
+ Document = _doc,
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ await _context.DisciplineComplaint_Appeal_Docs.AddAsync(disciplineComplaint_Appeal_Doc);
+ }
+ }
+ }
+ await _repositoryNoti.PushNotificationAsync(
+ req.ProfileId,
+ $"เจ้าหน้าที่ได้ทำการสร้างคำร้องอุทธรณ์ร้องทุกข์ให้คุณ",
+ $"เจ้าหน้าที่ได้ทำการสร้างคำร้องอุทธรณ์ร้องทุกข์ให้คุณ",
+ "",
+ true,
+ true
+ );
+ await _context.SaveChangesAsync();
+ return Success(disciplineComplaint_Appeal.Id);
+ }
+
///
/// อัพไฟล์เอกสารอุทธรณ์/ร้องทุกข์
///
diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineDisciplinaryController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineDisciplinaryController.cs
index 232b90e1..65ef49c1 100644
--- a/BMA.EHR.Discipline.Service/Controllers/DisciplineDisciplinaryController.cs
+++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineDisciplinaryController.cs
@@ -459,6 +459,7 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
PosNo = p.PosNo,
Organization = p.Organization,
IsSend = p.IsReport,
+ IsSuspend = p.IsSuspend,
Status = p.Status,
StatusDiscard = p.StatusDiscard,
Report = p.DisciplineReport_Profiles.Count() > 0 ? true : false,
@@ -680,7 +681,8 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
PosNo = item.posNo,
Status = isReport == null ? "NEW" : isReport.Status,
StatusDiscard = isReport == null ? "NEW" : isReport.StatusDiscard,
- IsReport = isReport == null ? false : isReport.IsReport,
+ IsReport = isReport == null ? "NEW" : isReport.IsReport,
+ IsSuspend = isReport == null ? "NEW" : isReport.IsSuspend,
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
@@ -1480,29 +1482,29 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
var personIdDupicate = data.DisciplineDisciplinary_ProfileComplaintInvestigates.Where(x => x.PersonId == item.PersonId && x.Status == "NEW").FirstOrDefault();
if (personIdDupicate == null)
continue;
- if (personIdDupicate.DisciplineReport_Profiles.Count() > 0)
- continue;
- personIdDupicate.DisciplineReport_Profiles.Add(
- new DisciplineReport_Profile
- {
- PersonId = item.PersonId,
- CitizenId = item.CitizenId,
- Prefix = item.Prefix,
- FirstName = item.FirstName,
- LastName = item.LastName,
- Organization = item.Organization,
- Salary = item.Salary,
- PosNo = item.PosNo,
- Position = item.Position,
- PositionLevel = item.PositionLevel,
- Status = "PENDING",
- CreatedFullName = FullName ?? "System Administrator",
- CreatedUserId = UserId ?? "",
- CreatedAt = DateTime.Now,
- LastUpdateFullName = FullName ?? "System Administrator",
- LastUpdateUserId = UserId ?? "",
- LastUpdatedAt = DateTime.Now,
- });
+ // if (personIdDupicate.DisciplineReport_Profiles.Count() > 0)
+ // continue;
+ // personIdDupicate.DisciplineReport_Profiles.Add(
+ // new DisciplineReport_Profile
+ // {
+ // PersonId = item.PersonId,
+ // CitizenId = item.CitizenId,
+ // Prefix = item.Prefix,
+ // FirstName = item.FirstName,
+ // LastName = item.LastName,
+ // Organization = item.Organization,
+ // Salary = item.Salary,
+ // PosNo = item.PosNo,
+ // Position = item.Position,
+ // PositionLevel = item.PositionLevel,
+ // Status = "PENDING",
+ // CreatedFullName = FullName ?? "System Administrator",
+ // CreatedUserId = UserId ?? "",
+ // CreatedAt = DateTime.Now,
+ // LastUpdateFullName = FullName ?? "System Administrator",
+ // LastUpdateUserId = UserId ?? "",
+ // LastUpdatedAt = DateTime.Now,
+ // });
item.CommandTypeId = commandTypeId;
item.Status = "REPORT";
item.LastUpdateFullName = FullName ?? "System Administrator";
@@ -1537,6 +1539,65 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
foreach (var item in persons)
{
var personIdDupicate = data.DisciplineDisciplinary_ProfileComplaintInvestigates.Where(x => x.PersonId == item.PersonId && x.Status == "REPORT" && x.StatusDiscard == "NEW").FirstOrDefault();
+ if (personIdDupicate == null)
+ continue;
+ // if (personIdDupicate.DisciplineReport_Profiles.Count() > 0)
+ // continue;
+ // personIdDupicate.DisciplineReport_Profiles.Add(
+ // new DisciplineReport_Profile
+ // {
+ // PersonId = item.PersonId,
+ // CitizenId = item.CitizenId,
+ // Prefix = item.Prefix,
+ // FirstName = item.FirstName,
+ // LastName = item.LastName,
+ // Organization = item.Organization,
+ // Salary = item.Salary,
+ // PosNo = item.PosNo,
+ // Position = item.Position,
+ // PositionLevel = item.PositionLevel,
+ // Status = "PENDING",
+ // CreatedFullName = FullName ?? "System Administrator",
+ // CreatedUserId = UserId ?? "",
+ // CreatedAt = DateTime.Now,
+ // LastUpdateFullName = FullName ?? "System Administrator",
+ // LastUpdateUserId = UserId ?? "",
+ // LastUpdatedAt = DateTime.Now,
+ // });
+ item.CommandTypeDiscardId = commandTypeId;
+ item.StatusDiscard = "REPORT";
+ item.LastUpdateFullName = FullName ?? "System Administrator";
+ item.LastUpdateUserId = UserId ?? "";
+ item.LastUpdatedAt = DateTime.Now;
+ }
+
+ await _context.SaveChangesAsync();
+ return Success();
+ }
+
+ ///
+ /// สั่งรายชื่อไปพักราชการ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("suspend/{id:length(36)}")]
+ public async Task> PostToSuspendGovernment([FromBody] DisciplinePersonIdRequest req, Guid id)
+ {
+ var data = await _context.DisciplineDisciplinarys
+ .Include(x => x.DisciplineDisciplinary_ProfileComplaintInvestigates)
+ .ThenInclude(x => x.DisciplineReport_Profiles)
+ .Where(x => x.Id == id)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+
+ var persons = data.DisciplineDisciplinary_ProfileComplaintInvestigates.Where(x => req.persons.Contains(x.Id)).ToList();
+ foreach (var item in persons)
+ {
+ var personIdDupicate = data.DisciplineDisciplinary_ProfileComplaintInvestigates.Where(x => x.PersonId == item.PersonId && x.Status == "NEW").FirstOrDefault();
if (personIdDupicate == null)
continue;
if (personIdDupicate.DisciplineReport_Profiles.Count() > 0)
@@ -1562,8 +1623,7 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
});
- item.CommandTypeDiscardId = commandTypeId;
- item.StatusDiscard = "REPORT";
+ item.IsSuspend = "REPORT";
item.LastUpdateFullName = FullName ?? "System Administrator";
item.LastUpdateUserId = UserId ?? "";
item.LastUpdatedAt = DateTime.Now;
@@ -1620,7 +1680,7 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
continue;
// uppdated.CommandTypeId = commandTypeId;
- uppdated.IsReport = true;
+ uppdated.IsReport = "REPORT";
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? "";
uppdated.LastUpdatedAt = DateTime.Now;
@@ -1629,5 +1689,33 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
await _context.SaveChangesAsync();
return Success();
}
+
+ ///
+ /// ระบุหน้าที่กรรมการ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("director/{disciplineId:guid}/{id:guid}")]
+ public async Task> AddDutyDisciplineDisciplinary([FromBody] DisciplineDutyRequest req, Guid disciplineId, Guid id)
+ {
+ var data = await _context.DisciplineDisciplinarys
+ .Include(x => x.DisciplineDisciplinary_DirectorInvestigates)
+ .Where(x => x.Id == disciplineId)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+ var director = data.DisciplineDisciplinary_DirectorInvestigates.FirstOrDefault(x => x.Id == id);
+ if (director == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+ director.Duty = req.duty;
+ director.LastUpdateFullName = FullName ?? "System Administrator";
+ director.LastUpdateUserId = UserId ?? "";
+ director.LastUpdatedAt = DateTime.Now;
+ await _context.SaveChangesAsync();
+ return Success();
+ }
}
}
diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineInvestigateController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineInvestigateController.cs
index 704cd4ae..238b5a9b 100644
--- a/BMA.EHR.Discipline.Service/Controllers/DisciplineInvestigateController.cs
+++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineInvestigateController.cs
@@ -448,7 +448,7 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
Salary = item.salary,
PersonId = item.personId,
PosNo = item.posNo,
- IsReport = isReport == null ? false : isReport.IsReport,
+ IsReport = isReport == null ? "NEW" : isReport.IsReport,
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
@@ -572,7 +572,8 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
PositionLevel = item.PositionLevel,
Status = "NEW",
StatusDiscard = "NEW",
- IsReport = false,
+ IsReport = "NEW",
+ IsSuspend = "NEW",
CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "",
CreatedAt = DateTime.Now,
@@ -970,7 +971,7 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
continue;
// uppdated.CommandTypeId = commandTypeId;
- uppdated.IsReport = true;
+ uppdated.IsReport = "REPORT";
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? "";
uppdated.LastUpdatedAt = DateTime.Now;
@@ -979,5 +980,33 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
await _context.SaveChangesAsync();
return Success();
}
+
+ ///
+ /// ระบุหน้าที่กรรมการ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("director/{disciplineId:guid}/{id:guid}")]
+ public async Task> AddDutyDisciplineInvestigate([FromBody] DisciplineDutyRequest req, Guid disciplineId, Guid id)
+ {
+ var data = await _context.DisciplineInvestigates
+ .Include(x => x.DisciplineInvestigate_Directors)
+ .Where(x => x.Id == disciplineId)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+ var director = data.DisciplineInvestigate_Directors.FirstOrDefault(x => x.Id == id);
+ if (director == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+ director.Duty = req.duty;
+ director.LastUpdateFullName = FullName ?? "System Administrator";
+ director.LastUpdateUserId = UserId ?? "";
+ director.LastUpdatedAt = DateTime.Now;
+ await _context.SaveChangesAsync();
+ return Success();
+ }
}
}
diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs
index 7050f102..e6995c74 100644
--- a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs
+++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs
@@ -2,6 +2,7 @@
using BMA.EHR.Application.Repositories.MessageQueue;
using BMA.EHR.Discipline.Service.Requests;
using BMA.EHR.Domain.Common;
+using BMA.EHR.Domain.Models.Commands.Core;
using BMA.EHR.Domain.Models.Discipline;
using BMA.EHR.Domain.Shared;
using BMA.EHR.Infrastructure.Persistence;
@@ -98,7 +99,7 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
IdInvestigate = x.DisciplineInvestigate.Id,//id ข้อมูลเรื่องสืบสวน
IdComplaint = x.DisciplineInvestigate.DisciplineComplaint.Id,//id ข้อมูลเรื่องร้องเรียน
RespondentType = x.RespondentType,//ผู้ถูกสืบสวน
- Persons = x.DisciplineDisciplinary_ProfileComplaintInvestigates.Select(p => new
+ Persons = x.DisciplineDisciplinary_ProfileComplaintInvestigates.Where(x => x.IsReport == "NEW").Select(p => new
{
Id = p.Id,
Idcard = p.CitizenId,
@@ -186,34 +187,34 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
return Success(data.Id);
}
- ///
- /// สั่งรายชื่อไปออกคำสั่งให้ออกจากราชการไว้ก่อน
- ///
- ///
- ///
- /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
- /// ไม่ได้ Login เข้าระบบ
- /// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpPut("report/{commandTypeId:length(36)}")]
- public async Task> PostToReport([FromBody] DisciplineProfileRequest req, Guid commandTypeId)
- {
- foreach (var item in req.Id)
- {
- var uppdated = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
- .FirstOrDefaultAsync(x => x.Id == item);
- if (uppdated == null)
- continue;
+ // ///
+ // /// สั่งรายชื่อไปออกคำสั่งให้ออกจากราชการไว้ก่อน
+ // ///
+ // ///
+ // ///
+ // /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ // /// ไม่ได้ Login เข้าระบบ
+ // /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ // [HttpPut("report/{commandTypeId:length(36)}")]
+ // public async Task> PostToReport([FromBody] DisciplineProfileRequest req, Guid commandTypeId)
+ // {
+ // foreach (var item in req.Id)
+ // {
+ // var uppdated = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
+ // .FirstOrDefaultAsync(x => x.Id == item);
+ // if (uppdated == null)
+ // continue;
- uppdated.CommandTypeId = commandTypeId;
- uppdated.Status = "REPORT";
- uppdated.LastUpdateFullName = FullName ?? "System Administrator";
- uppdated.LastUpdateUserId = UserId ?? "";
- uppdated.LastUpdatedAt = DateTime.Now;
- }
+ // uppdated.CommandTypeId = commandTypeId;
+ // uppdated.Status = "REPORT";
+ // uppdated.LastUpdateFullName = FullName ?? "System Administrator";
+ // uppdated.LastUpdateUserId = UserId ?? "";
+ // uppdated.LastUpdatedAt = DateTime.Now;
+ // }
- await _context.SaveChangesAsync();
- return Success();
- }
+ // await _context.SaveChangesAsync();
+ // return Success();
+ // }
///
/// อัพไฟล์เอกสารสืบสวนวินัย
@@ -297,5 +298,105 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
return Error(new Exception("ไม่พบไฟล์นี้ในระบบ"), (int)StatusCodes.Status404NotFound);
}
}
+
+ ///
+ /// รายชื่อออกคำสั่งลงโทษ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("report/up")]
+ public async Task> GetPersonReportUp()
+ {
+ var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
+ .Where(x => x.Status == "REPORT")
+ .Select(x => new
+ {
+ Id = x.PersonId,
+ CommandId = x.CommandTypeId,
+ })
+ .ToListAsync();
+ return Success(data);
+ }
+
+ ///
+ /// รายชื่อออกคำสั่งงด/ลดโทษ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("report/down")]
+ public async Task> GetPersonReportDown()
+ {
+ var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
+ .Where(x => x.StatusDiscard == "REPORT")
+ .Select(x => new
+ {
+ Id = x.PersonId,
+ CommandId = x.CommandTypeDiscardId,
+ })
+ .ToListAsync();
+ return Success(data);
+ }
+
+ ///
+ /// รายชื่อออกคำสั่งยุติ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("report/reject")]
+ public async Task> GetPersonReportReject()
+ {
+ var data1 = await _context.DisciplineInvestigate_ProfileComplaints
+ .Where(x => x.IsReport == "REPORT")
+ .Select(x => new
+ {
+ Id = x.PersonId,
+ })
+ .ToListAsync();
+ var data2 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates
+ .Where(x => x.IsReport == "REPORT")
+ .Select(x => new
+ {
+ Id = x.PersonId,
+ })
+ .ToListAsync();
+
+ foreach (var data in data1)
+ {
+ data2.Add(data);
+ };
+ return Success(data2);
+ }
+
+ ///
+ /// รายชื่อออกคำสั่งพักราชการ
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("report/stop")]
+ public async Task> GetPersonReportStop()
+ {
+ var data = await _context.DisciplineReport_Profiles
+ .Where(x => x.Status == "REPORT")
+ .Select(x => new
+ {
+ Id = x.PersonId,
+ CommandId = x.CommandTypeId,
+ })
+ .ToListAsync();
+ return Success(data);
+ }
+
}
}
diff --git a/BMA.EHR.Discipline.Service/Requests/DisciplineDutyRequest.cs b/BMA.EHR.Discipline.Service/Requests/DisciplineDutyRequest.cs
new file mode 100644
index 00000000..b3840532
--- /dev/null
+++ b/BMA.EHR.Discipline.Service/Requests/DisciplineDutyRequest.cs
@@ -0,0 +1,9 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Discipline.Service.Requests
+{
+ public class DisciplineDutyRequest
+ {
+ public string duty { get; set; }//
+ }
+}
diff --git a/BMA.EHR.Domain/Models/Commands/Core/Command.cs b/BMA.EHR.Domain/Models/Commands/Core/Command.cs
index 79525489..fd32b481 100644
--- a/BMA.EHR.Domain/Models/Commands/Core/Command.cs
+++ b/BMA.EHR.Domain/Models/Commands/Core/Command.cs
@@ -200,6 +200,22 @@ namespace BMA.EHR.Domain.Models.Commands.Core
#endregion
+ #region " C-PM-25 - C-PM-32 "
+
+ [Comment("ระดับความผิด")]
+ public string? FaultLevel { get; set; }
+
+ [Comment("กรณีความผิด")]
+ public string? CaseFault { get; set; }
+
+ [Comment("ผลดำเนินการพิจารณา")]
+ public string? Result { get; set; }
+
+ [Comment("อ้างอิงมาตราตามกฏหมาย")]
+ public string? RefRaw { get; set; }
+
+ #endregion
+
public virtual List Documents { get; set; } = new();
public virtual List Receivers { get; set; }
diff --git a/BMA.EHR.Domain/Models/Discipline/DisciplineDisciplinary_ProfileComplaintInvestigate.cs b/BMA.EHR.Domain/Models/Discipline/DisciplineDisciplinary_ProfileComplaintInvestigate.cs
index 56abfc83..c939e2ce 100644
--- a/BMA.EHR.Domain/Models/Discipline/DisciplineDisciplinary_ProfileComplaintInvestigate.cs
+++ b/BMA.EHR.Domain/Models/Discipline/DisciplineDisciplinary_ProfileComplaintInvestigate.cs
@@ -30,15 +30,17 @@ namespace BMA.EHR.Domain.Models.Discipline
[Comment("เงินเดือน")]
public double? Salary { get; set; }
[Comment("สถานะออกคำสั่ง")]
- public string? Status { get; set; }
+ public string? Status { get; set; } = "NEW";
[Comment("ประเภทออกคำสั่ง")]
public Guid? CommandTypeId { get; set; }
[Comment("สถานะออกคำสั่งงดโทด")]
- public string? StatusDiscard { get; set; }
+ public string? StatusDiscard { get; set; } = "NEW";
[Comment("ประเภทออกคำสั่งงดโทด")]
public Guid? CommandTypeDiscardId { get; set; }
[Comment("ส่งไปยุติเรื่อง")]
- public bool IsReport { get; set; } = false;
+ public string? IsReport { get; set; } = "NEW";
+ [Comment("ส่งไปพักราชการ")]
+ public string? IsSuspend { get; set; } = "NEW";
[Required, Comment("Id เรื่องสอบสวน")]
public DisciplineDisciplinary DisciplineDisciplinary { get; set; }
public virtual List DisciplineReport_Profiles { get; set; } = new List();
diff --git a/BMA.EHR.Domain/Models/Discipline/DisciplineInvestigate_ProfileComplaint.cs b/BMA.EHR.Domain/Models/Discipline/DisciplineInvestigate_ProfileComplaint.cs
index 8119eb34..7f162f94 100644
--- a/BMA.EHR.Domain/Models/Discipline/DisciplineInvestigate_ProfileComplaint.cs
+++ b/BMA.EHR.Domain/Models/Discipline/DisciplineInvestigate_ProfileComplaint.cs
@@ -30,7 +30,7 @@ namespace BMA.EHR.Domain.Models.Discipline
[Comment("เงินเดือน")]
public double? Salary { get; set; }
[Comment("ส่งไปยุติเรื่อง")]
- public bool IsReport { get; set; } = false;
+ public string? IsReport { get; set; } = "NEW";
[Required, Comment("Id เรื่องสืบสวน")]
public DisciplineInvestigate DisciplineInvestigate { get; set; }
}
diff --git a/BMA.EHR.Infrastructure/Migrations/20231222071428_update Command add FaultLevel.Designer.cs b/BMA.EHR.Infrastructure/Migrations/20231222071428_update Command add FaultLevel.Designer.cs
new file mode 100644
index 00000000..4616a7be
--- /dev/null
+++ b/BMA.EHR.Infrastructure/Migrations/20231222071428_update Command add FaultLevel.Designer.cs
@@ -0,0 +1,16949 @@
+//
+using System;
+using BMA.EHR.Infrastructure.Persistence;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace BMA.EHR.Infrastructure.Migrations
+{
+ [DbContext(typeof(ApplicationDBContext))]
+ [Migration("20231222071428_update Command add FaultLevel")]
+ partial class updateCommandaddFaultLevel
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.9")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("AuthorizedPosition")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งผู้มีอำนาจลงนาม");
+
+ b.Property("AuthorizedUserFullName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อผู้มีอำนาจลงนาม");
+
+ b.Property("AuthorizedUserId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงผู้มีอำนาจลงนาม");
+
+ b.Property("CaseFault")
+ .HasColumnType("longtext")
+ .HasComment("กรณีความผิด");
+
+ b.Property("ChairManFullName")
+ .HasColumnType("longtext")
+ .HasComment("ประธานคณะกรรมการ");
+
+ b.Property("CommandAffectDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่คำสั่งมีผล");
+
+ b.Property("CommandExcecuteDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่ออกคำสั่ง");
+
+ b.Property("CommandNo")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)")
+ .HasComment("เลขที่คำสั่ง");
+
+ b.Property("CommandStatusId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงสถานะคำสั่ง");
+
+ b.Property("CommandSubject")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("varchar(500)")
+ .HasComment("คำสั่งเรื่อง");
+
+ b.Property("CommandTypeId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงประเภทคำสั่ง");
+
+ b.Property("CommandYear")
+ .IsRequired()
+ .HasMaxLength(4)
+ .HasColumnType("varchar(4)")
+ .HasComment("ปีที่ออกคำสั่ง");
+
+ b.Property("ConclusionFireDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionFireNo")
+ .HasColumnType("longtext")
+ .HasComment("ครั้งที่ (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionFireResolution")
+ .HasColumnType("longtext")
+ .HasComment("มติที่ประชุม (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionMeetingDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("การประชุม ลงวันที่");
+
+ b.Property("ConclusionMeetingNo")
+ .HasColumnType("longtext")
+ .HasComment("การประชุม ครั้งที่");
+
+ b.Property("ConclusionReceiveDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (การรับโอน)");
+
+ b.Property("ConclusionReceiveNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (การรับโอน)");
+
+ b.Property("ConclusionRegisterDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง รับสมัครสอบฯ)");
+
+ b.Property("ConclusionRegisterNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)");
+
+ b.Property("ConclusionResultDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง ผลการสอบแข่งขัน)");
+
+ b.Property("ConclusionResultNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง ผลการสอบแข่งขัน)");
+
+ b.Property("ConclusionReturnDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง กลับเข้ารับราชการ)");
+
+ b.Property("ConclusionReturnNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง กลับเข้ารับราชการ)");
+
+ b.Property("ConclusionTranferDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("การประชุม ลงวันที่");
+
+ b.Property("ConclusionTranferNo")
+ .HasColumnType("longtext")
+ .HasComment("การประชุม ครั้งที่");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("Fault")
+ .HasColumnType("longtext")
+ .HasComment("รายละเอียดการกระทำผิด");
+
+ b.Property("FaultLevel")
+ .HasColumnType("longtext")
+ .HasComment("ระดับความผิด");
+
+ b.Property("GovAidCommandDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (คำสั่งช่วยราชการ)");
+
+ b.Property("GovAidCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("คำสั่งเลขที่ (คำสั่งช่วยราชการ)");
+
+ b.Property("GuiltyBasis")
+ .HasColumnType("longtext")
+ .HasComment("ฐานความผิด");
+
+ b.Property("IssuerOrganizationId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงหน่วยงานที่ออกคำสั่ง");
+
+ b.Property("IssuerOrganizationName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานที่ออกคำสั่ง");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Member1FullName")
+ .HasColumnType("longtext")
+ .HasComment("กรรมการคนที่ 1");
+
+ b.Property("Member2FullName")
+ .HasColumnType("longtext")
+ .HasComment("กรรมการคนที่ 2");
+
+ b.Property("MilitaryCommanDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (ให้เข้ารับราชการทหาร)");
+
+ b.Property("MilitaryCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("คำสั่งที่ (ให้เข้ารับราชการทหาร)");
+
+ b.Property("OwnerGovId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสส่วนราชการผู้ออกคำสั่ง");
+
+ b.Property("PlacementCommandDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("คำสั่งบรรจุลงวันที่");
+
+ b.Property("PlacementCommandIssuer")
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานที่ออกคำสั่งบรรจุ");
+
+ b.Property("PlacementCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("เลขที่คำสั่งบรรจุ");
+
+ b.Property("PlacementId")
+ .HasColumnType("char(36)")
+ .HasComment("อ้างอิงรอบการสอบ");
+
+ b.Property("PlacementOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("สังกัดที่บรรจุ");
+
+ b.Property("PlacementPositionName")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งที่บรรจุ");
+
+ b.Property("PositionName")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งที่บรรจุ");
+
+ b.Property("ProbationEndDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สิ้นสุดการทดลองปฏิบัติราชการ");
+
+ b.Property("ProbationStartDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่เริ่มทดลองปฏิบัติราชการ");
+
+ b.Property("ReceiveOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("ส่วนราชการที่รับโอน");
+
+ b.Property("RefRaw")
+ .HasColumnType("longtext")
+ .HasComment("อ้างอิงมาตราตามกฏหมาย");
+
+ b.Property("Result")
+ .HasColumnType("longtext")
+ .HasComment("ผลดำเนินการพิจารณา");
+
+ b.Property("SourceOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานต้นสังกัด ก่อนรับราชการทหาร");
+
+ b.Property("TransferOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("ส่วนราชการที่ให้โอน");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandStatusId");
+
+ b.HasIndex("CommandTypeId");
+
+ b.HasIndex("PlacementId");
+
+ b.ToTable("Commands");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CitizenId")
+ .IsRequired()
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงคำสั่ง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("IsSendInbox")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งกล่องข้อความหรือไม่?");
+
+ b.Property("IsSendMail")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งอีเมล์หรือไม่?");
+
+ b.Property("IsSendNotification")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งแจ้งเตือนหรือไม่?");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("OrganizationName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อหน่วยงานของผู้รับสำเนาคำสั่ง");
+
+ b.Property("PositionName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อตำแหน่งของผู้รับสำเนาคำสั่ง");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasComment("คำนำหน้านาม");
+
+ b.Property("ReceiveUserId")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รหัสอ้างอิงผู้ใช้งานระบบ");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.ToTable("CommandDeployments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ประเภทเอกสาร");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("CommandDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Amount")
+ .HasColumnType("double")
+ .HasComment("เงินเดือน");
+
+ b.Property("CitizenId")
+ .IsRequired()
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงคำสั่ง");
+
+ b.Property("Comment")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("หมายเหตุ");
+
+ b.Property("Comment2")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("หมายเหตุแนวนอน");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("MouthSalaryAmount")
+ .HasColumnType("double")
+ .HasComment("เงินค่าตอบแทนรายเดือน");
+
+ b.Property("PositionSalaryAmount")
+ .HasColumnType("double")
+ .HasComment("เงินประจำตำแหน่ง");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasComment("คำนำหน้านาม");
+
+ b.Property("RefPlacementProfileId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงไปยังข้อมูลผู้บรรจุ");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับในบัญชีแนบท้าย");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.ToTable("CommandReceivers");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สถานะของคำสั่ง");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับการทำงาน");
+
+ b.HasKey("Id");
+
+ b.ToTable("CommandStatuses");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ประเภทคำสั่ง");
+
+ b.Property("CommandCode")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รหัสของประเภทคำสั่ง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("ชื่อคำสั่ง");
+
+ b.HasKey("Id");
+
+ b.ToTable("CommandTypes");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.DeploymentChannel", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsSendEmail")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsSendInbox")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.ToTable("DeploymentChannels");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Documents.Document", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Detail")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FileName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("varchar(255)");
+
+ b.Property("FileSize")
+ .HasColumnType("int");
+
+ b.Property("FileType")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ObjectRefId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Documents");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .HasColumnType("longtext")
+ .HasComment("ยังไม่ชัวใช้อะไรเป็นkey");
+
+ b.HasKey("Id");
+
+ b.ToTable("LimitLeaves");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("LimitLeaveId")
+ .HasColumnType("char(36)");
+
+ b.Property("NumLeave")
+ .HasColumnType("double")
+ .HasComment("จำนวนที่ลาได้");
+
+ b.Property("TypeLeaveId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("LimitLeaveId");
+
+ b.HasIndex("TypeLeaveId");
+
+ b.ToTable("LimitTypeLeaves");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Ability")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("AvatarId")
+ .HasColumnType("char(36)");
+
+ b.Property("AvatarRef")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("BirthDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันเกิด");
+
+ b.Property("BloodGroupId")
+ .HasColumnType("char(36)")
+ .HasComment("Id กลุ่มเลือด");
+
+ b.Property("CitizenId")
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("รหัสบัตรประชาชน");
+
+ b.Property("Couple")
+ .HasColumnType("tinyint(1)")
+ .HasComment("คู่สมรส");
+
+ b.Property("CoupleCareer")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("อาชีพคู่สมรส");
+
+ b.Property("CoupleCitizenId")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("เลขที่บัตรประชาชนคู่สมรส");
+
+ b.Property("CoupleFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อคู่สมรส");
+
+ b.Property("CoupleLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลคู่สมรส");
+
+ b.Property("CoupleLastNameOld")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลคู่สมรส(เดิม)");
+
+ b.Property("CoupleLive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("มีชีวิตคู่สมรส");
+
+ b.Property("CouplePrefixId")
+ .HasColumnType("char(36)")
+ .HasComment("Id คำนำหน้าคู่สมรส");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUser")
+ .IsRequired()
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("CurrentAddress")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("ที่อยู่ปัจจุบัน");
+
+ b.Property