แก้ env
This commit is contained in:
parent
41d28c4d7f
commit
b37ca083ba
13 changed files with 633 additions and 65 deletions
4
.github/workflows/release_Retirement.yaml
vendored
4
.github/workflows/release_Retirement.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-retirement-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-retirement
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-retirement
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_command.yaml
vendored
4
.github/workflows/release_command.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-command-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-command
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-command
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_discipline.yaml
vendored
4
.github/workflows/release_discipline.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-discipline-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-discipline
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-discipline
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_insignia.yaml
vendored
4
.github/workflows/release_insignia.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-insignia-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-insignia
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-insignia
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_leave.yaml
vendored
4
.github/workflows/release_leave.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-leave-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-leave
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-leave
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_orgEmployee.yaml
vendored
4
.github/workflows/release_orgEmployee.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-org-employee-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-org-employee
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-org-employee
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_placement.yaml
vendored
4
.github/workflows/release_placement.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-placement-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-placement
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-placement
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
4
.github/workflows/release_report.yaml
vendored
4
.github/workflows/release_report.yaml
vendored
|
|
@ -13,8 +13,8 @@ env:
|
|||
IMAGE_NAME: ehr/bma-ehr-report-v2-service
|
||||
DEPLOY_HOST: frappet.com
|
||||
DEPLOY_PORT: 10102
|
||||
COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report-v2
|
||||
# COMPOSE_PATH: /home/frappet/docker/bma-ehr
|
||||
COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report-v2
|
||||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
|
|
@ -101,6 +101,9 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
case "C-PM-04":
|
||||
result = await GetReceiver04Async(command);
|
||||
break;
|
||||
case "C-PM-39":
|
||||
result = await GetReceiver39Async(command);
|
||||
break;
|
||||
case "C-PM-05":
|
||||
result = await GetReceiver05Async(command);
|
||||
break;
|
||||
|
|
@ -446,6 +449,65 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// C-PM-39 - คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม
|
||||
/// </summary>
|
||||
/// <param name="command">object ของรายการคำสั่ง</param>
|
||||
/// <returns></returns>
|
||||
private async Task<List<CommandReceiver>> GetReceiver39Async(Command command)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = new List<CommandReceiver>();
|
||||
// TODO : ต้องมา list คนตามประเภทอีกครั้งนึง
|
||||
|
||||
// 1. หารายชื่อที่ถูกเลือกไปแล้ว ในประเภทเดียวกัน
|
||||
var otherCommandReceivers = await _dbContext.Set<CommandReceiver>()
|
||||
.Include(x => x.Command)
|
||||
.ThenInclude(x => x.CommandType)
|
||||
.Where(x => x.Command.CommandType.CommandCode.Trim().ToUpper() == "C-PM-39")
|
||||
.Where(x => x.Command.Id != command.Id)
|
||||
.Select(x => x.CitizenId)
|
||||
.ToListAsync();
|
||||
|
||||
// 2. Query
|
||||
var appointPeople = await _dbContext.Set<PlacementProfile>()
|
||||
.Include(x => x.Placement)
|
||||
.ThenInclude(x => x.PlacementType)
|
||||
.Where(x => x.Placement.Id == command.Placement.Id)
|
||||
.Where(x => !otherCommandReceivers.Contains(x.CitizenId!))
|
||||
.Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN")
|
||||
.Where(x => x.typeCommand.Trim().ToUpper() == "SLIP")
|
||||
.Where(x => x.Draft! == true)
|
||||
.OrderBy(x => x.ExamNumber)
|
||||
.ToListAsync();
|
||||
|
||||
// 3. Create new Record
|
||||
var seq = 1;
|
||||
foreach (var item in appointPeople)
|
||||
{
|
||||
var receiver = new CommandReceiver
|
||||
{
|
||||
Sequence = seq,
|
||||
CitizenId = item.CitizenId == null ? "" : item.CitizenId,
|
||||
Prefix = item.Prefix == null ? "" : item.Prefix,
|
||||
FirstName = item.Firstname == null ? "" : item.Firstname,
|
||||
LastName = item.Lastname == null ? "" : item.Lastname,
|
||||
RefPlacementProfileId = item.Id,
|
||||
};
|
||||
seq++;
|
||||
|
||||
result.Add(receiver);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// C-PM-05 - คำสั่งแต่งตั้ง
|
||||
/// </summary>
|
||||
|
|
@ -2626,6 +2688,9 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
case "C-PM-04":
|
||||
await ExecuteCommand04Async(command, token);
|
||||
break;
|
||||
case "C-PM-39":
|
||||
await ExecuteCommand39Async(command, token);
|
||||
break;
|
||||
case "C-PM-05":
|
||||
await ExecuteCommand05Async(command, token);
|
||||
break;
|
||||
|
|
@ -3347,6 +3412,161 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
}
|
||||
}
|
||||
|
||||
// <summary>
|
||||
/// C-PM-39 - คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม
|
||||
/// </summary>
|
||||
/// <param name="command">object ของรายการคำสั่ง</param>
|
||||
/// <returns></returns>
|
||||
private async Task ExecuteCommand39Async(Command command, string token = "")
|
||||
{
|
||||
try
|
||||
{
|
||||
// create command payload
|
||||
var payload_attach = command.Documents
|
||||
.Select(x => new PayloadAttachment
|
||||
{
|
||||
name = x.Category == "cover" ? "สำเนาคำสั่ง" : "สำเนาเอกสารแนบท้าย",
|
||||
url = $"{_configuration["API"]}/order/download/attachment/{x.Document.Id}"
|
||||
})
|
||||
.ToList();
|
||||
|
||||
var payload = new CommandPayload()
|
||||
{
|
||||
attachments = payload_attach
|
||||
};
|
||||
|
||||
var payload_str = JsonConvert.SerializeObject(payload);
|
||||
|
||||
foreach (var recv in command.Receivers)
|
||||
{
|
||||
var placementProfile = await _dbContext.Set<PlacementProfile>()
|
||||
.FirstOrDefaultAsync(x => x.Id == recv.RefPlacementProfileId);
|
||||
|
||||
var baseAPI = _configuration["API"];
|
||||
var apiUrlSalary = $"{baseAPI}/org/profile/salary";
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
|
||||
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
|
||||
{
|
||||
profileId = placementProfile.profileId,
|
||||
date = command.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 = $"{command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()}",
|
||||
salaryRef = "คำสั่งเลื่อน คำสั่ง" + command.IssuerOrganizationName + "ที่ " + $"{command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate!.Value.ToThaiFullDate3()}",
|
||||
});
|
||||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
}
|
||||
|
||||
var baseAPIOrg = _configuration["API"];
|
||||
var apiUrlOrg = $"{baseAPIOrg}/org/pos/report/current";
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
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();
|
||||
}
|
||||
|
||||
// update placementstatus
|
||||
placementProfile.PlacementStatus = "CONTAIN";
|
||||
|
||||
await _dbContext.SaveChangesAsync();
|
||||
|
||||
// TODO: ต้องเปลี่ยนเป็น Email จริงนะ ตอนนี้ Hardcode อยู่
|
||||
// Send noti inbox and email
|
||||
var subject = $"คุณได้รับคำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}";
|
||||
var body = $"คำสั่งเลื่อน เลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}";
|
||||
_emailSenderService.SendMail(subject, body, "dev@frappet.com");
|
||||
|
||||
|
||||
var inbox = new Inbox
|
||||
{
|
||||
Subject = $"คุณได้รับคำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
Body = $"คำสั่งเลื่อน เลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
ReceiverUserId = Guid.Parse(placementProfile.profileId),
|
||||
Payload = payload_str,
|
||||
};
|
||||
_dbContext.Set<Inbox>().Add(inbox);
|
||||
|
||||
var noti = new Notification
|
||||
{
|
||||
Body = $"คำสั่งเลื่อน เลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
ReceiverUserId = Guid.Parse(placementProfile.profileId),
|
||||
Type = "LINK",
|
||||
Payload = payload_str,
|
||||
};
|
||||
_dbContext.Set<Notification>().Add(noti);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
}
|
||||
|
||||
// send cc noti inbox
|
||||
foreach (var cc in command.Deployments)
|
||||
{
|
||||
if (cc.IsSendInbox)
|
||||
{
|
||||
var inbox = new Inbox
|
||||
{
|
||||
Subject = $"คุณได้รับสำเนาคำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
Body = $"คำสั่งเลื่อน คำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
ReceiverUserId = Guid.Parse(cc.ReceiveUserId),
|
||||
Payload = payload_str,
|
||||
};
|
||||
_dbContext.Set<Inbox>().Add(inbox);
|
||||
}
|
||||
|
||||
if (cc.IsSendMail)
|
||||
{
|
||||
// TODO: ต้องเปลี่ยนเป็น Email จริงนะ ตอนนี้ Hardcode อยู่
|
||||
// Send noti inbox and email
|
||||
var subject = $"คุณได้รับสำเนาคำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}";
|
||||
var body = $"คำสั่งเลื่อน คำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}";
|
||||
_emailSenderService.SendMail(subject, body, "dev@frappet.com");
|
||||
}
|
||||
|
||||
|
||||
var noti = new Notification
|
||||
{
|
||||
Body = $"คำสั่งเลื่อน คำสั่งเลขที่ {command.CommandNo}/{command.CommandYear.ToInteger().ToThaiYear()} ลงวันที่ {command.CommandExcecuteDate.Value.ToThaiFullDate3()}",
|
||||
ReceiverUserId = Guid.Parse(cc.ReceiveUserId),
|
||||
Type = "LINK",
|
||||
Payload = payload_str,
|
||||
};
|
||||
_dbContext.Set<Notification>().Add(noti);
|
||||
}
|
||||
|
||||
// change command status
|
||||
var cmdStatus = await _dbContext.Set<CommandStatus>().FirstOrDefaultAsync(x => x.Sequence == 5);
|
||||
command.CommandStatusId = cmdStatus!.Id;
|
||||
|
||||
await _dbContext.SaveChangesAsync();
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
// <summary>
|
||||
/// C-PM-05 - คำสั่งแต่งตั้ง
|
||||
/// </summary>
|
||||
|
|
@ -8301,6 +8521,13 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
.Include(x => x.CommandType)
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
break;
|
||||
case "C-PM-39":
|
||||
command = await _dbContext.Set<Command>()
|
||||
.Include(x => x.Placement)
|
||||
.Include(x => x.Receivers)
|
||||
.Include(x => x.CommandType)
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
break;
|
||||
default:
|
||||
command = await _dbContext.Set<Command>()
|
||||
.Include(x => x.Receivers)
|
||||
|
|
@ -8337,6 +8564,9 @@ namespace BMA.EHR.Application.Repositories.Commands
|
|||
case "C-PM-04":
|
||||
salary = await GetPlacementSalaryAsync(item.RefPlacementProfileId.Value);
|
||||
break;
|
||||
case "C-PM-39":
|
||||
salary = await GetPlacementSalaryAsync(item.RefPlacementProfileId.Value);
|
||||
break;
|
||||
default:
|
||||
salary = await GetCommandReceiverSalary(item.RefPlacementProfileId.Value, item.Amount, item.MouthSalaryAmount, item.PositionSalaryAmount);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1178,6 +1178,116 @@ namespace BMA.EHR.Command.Service.Controllers
|
|||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-39 "
|
||||
|
||||
/// <summary>
|
||||
/// PM7-22 : สร้างข้อมูลรายละเอียดการออกคำสั่ง C-PM-39
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPost("c-pm-39/detail")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> PostType39Async([FromBody] CreateCommandRequest 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,
|
||||
PositionName = req.registerPosition,
|
||||
CommandTypeId = req.orderTypeValue,
|
||||
IssuerOrganizationId = req.orderBy,
|
||||
IssuerOrganizationName = req.orderByOrganizationName,
|
||||
AuthorizedUserFullName = req.signatoryBy,
|
||||
AuthorizedPosition = req.signatoryPosition,
|
||||
|
||||
CommandAffectDate = req.orderDate,
|
||||
OwnerGovId = OcId,
|
||||
|
||||
// c-pm-01 ถึง c-pm-04
|
||||
PlacementId = req.examRound,
|
||||
ConclusionRegisterNo = req.conclusionRegisterNo ?? "",
|
||||
ConclusionRegisterDate = req.conclusionRegisterDate,
|
||||
ConclusionResultNo = req.conclusionResultNo,
|
||||
ConclusionResultDate = req.conclusionResultDate,
|
||||
|
||||
};
|
||||
|
||||
var result = await _repository.AddAsync(inserted);
|
||||
|
||||
return Success(result);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PM7-23 : แก้ไขข้อมูลรายละเอียดการออกคำสั่ง C-PM-39
|
||||
/// </summary>
|
||||
/// <param name="orderId">Record Id ของคำสั่ง</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPut("c-pm-39/detail/{orderId}")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> PutType39Async(Guid orderId, [FromBody] CreateCommandRequest 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.PositionName = req.registerPosition;
|
||||
// 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;
|
||||
|
||||
// c-pm-01 ถึง c-pm-04
|
||||
|
||||
// var placement = await _placementRepository.GetByIdAsync(req.examRound);
|
||||
// order.Placement = placement!;
|
||||
order.ConclusionRegisterNo = req.conclusionRegisterNo;
|
||||
order.ConclusionRegisterDate = req.conclusionRegisterDate;
|
||||
order.ConclusionResultNo = req.conclusionResultNo;
|
||||
order.ConclusionResultDate = req.conclusionResultDate;
|
||||
|
||||
var result = await _repository.UpdateAsync(order);
|
||||
|
||||
return Success(result);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-05 "
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -4716,6 +4826,17 @@ namespace BMA.EHR.Command.Service.Controllers
|
|||
}
|
||||
}
|
||||
break;
|
||||
case "c-PM-39":
|
||||
{
|
||||
foreach (var r in receivers)
|
||||
{
|
||||
var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId);
|
||||
r.SalaryAmount = salary.SalaryAmount;
|
||||
r.PositionSalaryAmount = salary.PositionSalaryAmount;
|
||||
r.MonthSalaryAmount = salary.MonthSalaryAmount;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
foreach (var r in receivers)
|
||||
|
|
@ -4788,6 +4909,17 @@ namespace BMA.EHR.Command.Service.Controllers
|
|||
}
|
||||
break;
|
||||
}
|
||||
case "C-PM-39":
|
||||
{
|
||||
foreach (var r in receivers)
|
||||
{
|
||||
var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId);
|
||||
r.SalaryAmount = salary.SalaryAmount;
|
||||
r.PositionSalaryAmount = salary.PositionSalaryAmount;
|
||||
r.MonthSalaryAmount = salary.MonthSalaryAmount;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
foreach (var r in receivers)
|
||||
|
|
@ -5369,6 +5501,9 @@ namespace BMA.EHR.Command.Service.Controllers
|
|||
case "C-PM-04":
|
||||
data = await _repository.GetPlacementSalaryAsync(record!.RefPlacementProfileId!.Value);
|
||||
break;
|
||||
case "C-PM-39":
|
||||
data = await _repository.GetPlacementSalaryAsync(record!.RefPlacementProfileId!.Value);
|
||||
break;
|
||||
default:
|
||||
data = await _repository.GetCommandReceiverSalary(personalId, record.Amount, record.MouthSalaryAmount, record.PositionSalaryAmount);
|
||||
break;
|
||||
|
|
@ -5411,6 +5546,9 @@ namespace BMA.EHR.Command.Service.Controllers
|
|||
case "C-PM-04":
|
||||
await _repository.UpdatePlacementSalaryAsync(personalId, req);
|
||||
return Success();
|
||||
case "C-PM-39":
|
||||
await _repository.UpdatePlacementSalaryAsync(personalId, req);
|
||||
return Success();
|
||||
default:
|
||||
await _repository.UpdateCommandReceiverSalaryAsync(personalId, req);
|
||||
return Success();
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
"Uri": "http://localhost:9200"
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
//"DefaultConnection": "User Id=sys;Password=P@ssw0rd;DBA Privilege=SYSDBA;Data Source=localhost:1521/ORCLCDB",
|
||||
//"DefaultConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
//"DefaultConnection": "User Id=sys;Password=P@ssw0rd;DBA Privilege=SYSDBA;Data Source=localhost:1521/ORCLCDB",
|
||||
//"DefaultConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
"DefaultConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"ExamConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"LeaveConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"DisciplineConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
},
|
||||
"Jwt": {
|
||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||
"Issuer": "https://id.frappet.synology.me/realms/bma-ehr"
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
"Node": {
|
||||
"API": "https://bma-ehr.frappet.synology.me/api/v1/probation"
|
||||
},
|
||||
"API": "https://bma-ehr.frappet.synology.me/api/v1",
|
||||
"API": "https://bma-ehr.frappet.com/api/v1",
|
||||
"RabbitMQ" :{
|
||||
"URL": "localhost",
|
||||
"UserName": "frappet",
|
||||
|
|
|
|||
|
|
@ -85,27 +85,59 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
// if (profile == null)
|
||||
// return Error(GlobalMessages.DataNotFound);
|
||||
|
||||
var apiUrl = $"{_configuration["API"]}/org/profile/keycloak/position";
|
||||
using (var client = new HttpClient())
|
||||
var apiUrl = $"{_configuration["API"]}/org/profile/keycloakid/position/" + req.ReceiverUserId;
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
|
||||
var _res = await client.SendAsync(_req);
|
||||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
if (org != null && org.result != null)
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
|
||||
var _res = await client.SendAsync(_req);
|
||||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
if (org != null && org.result != null)
|
||||
{
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse(org.result.profileId),
|
||||
req.Subject,
|
||||
req.Body,
|
||||
req.Payload,
|
||||
req.IsSendInbox,
|
||||
req.IsSendMail
|
||||
);
|
||||
}
|
||||
return Success();
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse(org.result.id),
|
||||
req.Subject,
|
||||
req.Body,
|
||||
req.Payload,
|
||||
req.IsSendInbox,
|
||||
req.IsSendMail
|
||||
);
|
||||
}
|
||||
return Success();
|
||||
}
|
||||
|
||||
return Success();
|
||||
}
|
||||
|
||||
[HttpPost("profile")]
|
||||
public async Task<ActionResult<ResponseObject>> UpdatePropertyByUserKeycloak([FromBody] NotiRequest req)
|
||||
{
|
||||
// var profile = await _context.Profiles.FirstOrDefaultAsync(x => x.KeycloakId == req.ReceiverUserId);
|
||||
// if (profile == null)
|
||||
// return Error(GlobalMessages.DataNotFound);
|
||||
|
||||
// var apiUrl = $"{_configuration["API"]}/org/profile/profileid/position/" + req.ReceiverUserId;
|
||||
// using (var client = new HttpClient())
|
||||
// {
|
||||
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
// var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
|
||||
// var _res = await client.SendAsync(_req);
|
||||
// var _result = await _res.Content.ReadAsStringAsync();
|
||||
// var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
if (req.ReceiverUserId != null)
|
||||
{
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse(req.ReceiverUserId),
|
||||
req.Subject,
|
||||
req.Body,
|
||||
req.Payload,
|
||||
req.IsSendInbox,
|
||||
req.IsSendMail
|
||||
);
|
||||
}
|
||||
return Success();
|
||||
// }
|
||||
|
||||
return Success();
|
||||
}
|
||||
|
|
@ -117,28 +149,28 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
if (inbox == null)
|
||||
return Error(GlobalMessages.DataNotFound);
|
||||
|
||||
|
||||
var apiUrl = $"{_configuration["API"]}/org/profile/keycloak/position/{inbox.CreatedUserId}";
|
||||
using (var client = new HttpClient())
|
||||
|
||||
var apiUrl = $"{_configuration["API"]}/org/profile/keycloak/position/{inbox.CreatedUserId}";
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
|
||||
var _res = await client.SendAsync(_req);
|
||||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
if (org != null && org.result != null)
|
||||
{
|
||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||
var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
|
||||
var _res = await client.SendAsync(_req);
|
||||
var _result = await _res.Content.ReadAsStringAsync();
|
||||
var org = JsonConvert.DeserializeObject<OrgRequest>(_result);
|
||||
if (org != null && org.result != null)
|
||||
{
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse(org.result.id),
|
||||
req.Subject,
|
||||
req.Body,
|
||||
req.Payload,
|
||||
req.IsSendInbox,
|
||||
req.IsSendMail
|
||||
);
|
||||
}
|
||||
return Success();
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse(org.result.id),
|
||||
req.Subject,
|
||||
req.Body,
|
||||
req.Payload,
|
||||
req.IsSendInbox,
|
||||
req.IsSendMail
|
||||
);
|
||||
}
|
||||
return Success();
|
||||
}
|
||||
// var profile = await _context.Profiles.FirstOrDefaultAsync(x => x.KeycloakId == Guid.Parse(inbox.CreatedUserId));
|
||||
// if (profile == null)
|
||||
// return Error(GlobalMessages.DataNotFound);
|
||||
|
|
|
|||
|
|
@ -602,6 +602,78 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-39 "
|
||||
|
||||
private async Task</*byte[]*/dynamic> GenerateCommandReportType39_Cover(Guid commandId, string exportType)
|
||||
{
|
||||
try
|
||||
{
|
||||
var raw_data = await _repository.GetByIdAsync(commandId);
|
||||
if (raw_data == null)
|
||||
{
|
||||
throw new Exception(GlobalMessages.CommandNotFound);
|
||||
}
|
||||
|
||||
var positionList = await _repository.GetReceiverPositionByCommandIdAsync(commandId);
|
||||
|
||||
var command = new
|
||||
{
|
||||
CommandNo = raw_data.CommandNo.ToThaiNumber(),
|
||||
CommandYear = raw_data.CommandYear.ToInteger().ToThaiYear().ToString().ToThaiNumber(),
|
||||
IssuerOrganizationName = raw_data.IssuerOrganizationName,
|
||||
ConclusionRegisterNo = raw_data.ConclusionRegisterNo == null ? "" : raw_data.ConclusionRegisterNo.ToThaiNumber(),
|
||||
ConclusionRegisterDate = raw_data.ConclusionRegisterDate == null ? "" : raw_data.ConclusionRegisterDate.Value.ToThaiFullDate3().ToThaiNumber(),
|
||||
ConclusionResultNo = raw_data.ConclusionResultNo == null ? "" : raw_data.ConclusionResultNo.ToThaiNumber(),
|
||||
ConclusionResultDate = raw_data.ConclusionResultDate == null ? "" : raw_data.ConclusionResultDate.Value.ToThaiFullDate3().ToThaiNumber(),
|
||||
PositionList = positionList,
|
||||
Count = raw_data.Receivers.Count.ToString().ToThaiNumber(),
|
||||
CommandAffectDate = raw_data.CommandAffectDate == null ? "" : raw_data.CommandAffectDate.Value.ToThaiFullDate3().ToThaiNumber(),
|
||||
AuthorizedUserFullName = raw_data.AuthorizedUserFullName,
|
||||
AuthorizedPosition = raw_data.AuthorizedPosition,
|
||||
Subject = $"เรื่อง {raw_data.CommandSubject}",
|
||||
};
|
||||
return command;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task</*byte[]*/dynamic> GenerateCommandReportType39_Attachment(Guid commandId, string exportType)
|
||||
{
|
||||
try
|
||||
{
|
||||
var raw_data = await _repository.GetByIdAsync(commandId);
|
||||
if (raw_data == null)
|
||||
{
|
||||
throw new Exception(GlobalMessages.CommandNotFound);
|
||||
}
|
||||
var command = new
|
||||
{
|
||||
CommandNo = raw_data.CommandNo.ToThaiNumber(),
|
||||
CommandYear = raw_data.CommandYear.ToInteger().ToThaiYear().ToString().ToThaiNumber(),
|
||||
IssuerOrganizationName = raw_data.IssuerOrganizationName,
|
||||
CommandExcecuteDate = raw_data.CommandExcecuteDate != null ? raw_data.CommandExcecuteDate.Value.ToThaiFullDate3().ToThaiNumber() : "-",
|
||||
};
|
||||
var data = await _commandReportRepository.GetCommandType03AttachmentAsync(commandId);
|
||||
return new
|
||||
{
|
||||
CommandNo = command.CommandNo,
|
||||
CommandYear = command.CommandYear,
|
||||
IssuerOrganizationName = command.IssuerOrganizationName,
|
||||
CommandExcecuteDate = command.CommandExcecuteDate,
|
||||
data = data,
|
||||
};
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-05 "
|
||||
|
||||
private async Task</*byte[]*/dynamic> GenerateCommandReportType05_Cover(Guid commandId, string exportType)
|
||||
|
|
@ -2370,7 +2442,7 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
Subject = $"เรื่อง {raw_data.CommandSubject}",
|
||||
employee = receiver,
|
||||
};
|
||||
|
||||
|
||||
return command;
|
||||
//return new
|
||||
//{
|
||||
|
|
@ -3291,6 +3363,102 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-39 คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม "
|
||||
|
||||
/// <summary>
|
||||
/// คำสั่ง C-PM-39 คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม
|
||||
/// </summary>
|
||||
/// <param name="id">Record Id ของคำสั่ง</param>
|
||||
/// <param name="exportType">pdf, docx หรือ xlsx</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet("c-pm-39/cover/{exportType}/{id}")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetCommandType39CoverReportAsync(Guid id, string exportType = "pdf")
|
||||
{
|
||||
try
|
||||
{
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
case "pdf": mimeType = "application/pdf"; break;
|
||||
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
|
||||
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
|
||||
}
|
||||
|
||||
var cmd = await _repository.GetByIdAsync(id);
|
||||
if (cmd == null)
|
||||
throw new Exception(GlobalMessages.CommandNotFound);
|
||||
|
||||
var contentData = await GenerateCommandReportType39_Cover(id, exportType);
|
||||
//return File(contentData, mimeType, $"command-{cmd.CommandNo}-{cmd.CommandYear.ToInteger().ToThaiYear()}.{exportType.Trim().ToLower()}");
|
||||
var data = new
|
||||
{
|
||||
template = "C-PM-39",
|
||||
reportName = "docx-report",
|
||||
data = contentData
|
||||
};
|
||||
return Success(data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// เอกสารแนบท้าย C-PM-39 คำสั่งเลื่อน : สำหรับข้าราชการ กทม. เดิม
|
||||
/// </summary>
|
||||
/// <param name="id">Record Id ของคำสั่ง</param>
|
||||
/// <param name="exportType">pdf, docx หรือ xlsx</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet("c-pm-39/attachment/{exportType}/{id}")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetCommandType39AttachmentReportAsync(Guid id, string exportType = "pdf")
|
||||
{
|
||||
try
|
||||
{
|
||||
var cmd = await _repository.GetByIdAsync(id);
|
||||
if (cmd == null)
|
||||
throw new Exception(GlobalMessages.CommandNotFound);
|
||||
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
case "pdf": mimeType = "application/pdf"; break;
|
||||
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
|
||||
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
|
||||
}
|
||||
|
||||
var contentData = await GenerateCommandReportType39_Attachment(id, exportType);
|
||||
//return File(contentData, mimeType, $"command-attachment-{cmd.CommandNo}-{cmd.CommandYear.ToInteger().ToThaiYear()}.{exportType.Trim().ToLower()}");
|
||||
var data = new
|
||||
{
|
||||
template = "C-PM-39-attachment",
|
||||
reportName = "docx-report",
|
||||
data = contentData
|
||||
};
|
||||
return Success(data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " C-PM-05 คำสั่งแต่งตั้ง "
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue