Merge branch 'develop' into adiDev

This commit is contained in:
AdisakKanthawilang 2025-01-10 19:27:49 +07:00
commit 164dc819ab
25 changed files with 239 additions and 162 deletions

View file

@ -1,13 +1,10 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
# push:
# tags:
# - 'v[0-9]+.[0-9]+.[0-9]+'
# tags-ignore:
# - '2.*'
# Allow run workflow manually from Action tab
workflow_dispatch:
push:
tags:
- "reportv2-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
IMAGE_NAME: ehr/bma-ehr-report-v2-service
@ -23,20 +20,22 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# skip Set up QEMU because it fail on act and container
- name: Set output tags
id: vars
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: Gen Version
id: gen_ver
run: |
if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
IMAGE_VER='${GITHUB_REF/refs\/tags\//}'
else
IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
fi
if [[ $IMAGE_VER == '' ]]; then
IMAGE_VER='test-vBeta'
fi
echo '::set-output name=image_ver::'$IMAGE_VER
- name: Test Version
if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
IMAGE_VER=${{ steps.vars.outputs.tag }}
else
IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
fi
if [[ $IMAGE_VER == '' ]]; then
IMAGE_VER='test-vBeta'
fi
echo '::set-output name=image_ver::'$IMAGE_VER
- name: Check Version
run: |
echo $GITHUB_REF
echo ${{ steps.gen_ver.outputs.image_ver }}
@ -69,21 +68,40 @@ jobs:
docker compose pull
docker compose up -d
echo "${{ steps.gen_ver.outputs.image_ver }}"> success
- uses: snow-actions/line-notify@v1.1.0
- name: Notify Discord Success
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
run: |
curl -H "Content-Type: application/json" \
-X POST \
-d '{
"embeds": [{
"title": "✅ Deployment Success!",
"description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
"color": 3066993,
"footer": {
"text": "Release Notification",
"icon_url": "https://example.com/success-icon.png"
},
"timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
}]
}' \
${{ secrets.DISCORD_WEBHOOK }}
- name: Notify Discord Failure
if: failure()
with:
access_token: ${{ env.TOKEN_LINE }}
message: |
-Failure❌❌❌
Image: ${{env.IMAGE_NAME}}
Version: ${{ github.event.inputs.IMAGE_VER }}
By: ${{secrets.DOCKER_USER}}
run: |
curl -H "Content-Type: application/json" \
-X POST \
-d '{
"embeds": [{
"title": "❌ Deployment Failed!",
"description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
"color": 15158332,
"footer": {
"text": "Release Notification",
"icon_url": "https://example.com/failure-icon.png"
},
"timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
}]
}' \
${{ secrets.DISCORD_WEBHOOK }}

View file

@ -1,6 +1,6 @@
version: 37
jobs:
- name: CI for Checkin [UAT]
- name: CI for UAT
steps:
- !CheckoutStep
name: checkout code
@ -33,32 +33,44 @@ jobs:
dotnet test -l trx --collect:"XPlat Code Coverage"
#/root/.dotnet/tools/roslynator analyze -o roslynator-analysis.xml
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
condition: NEVER
- !PublishTRXReportStep
name: publish unit test report
reportName: Unit Test
filePatterns: '**/*.trx'
condition: ALWAYS
condition: NEVER
- !PublishCoberturaReportStep
name: publish code coverage report
reportName: Code Coverage
filePatterns: '**/coverage.cobertura.xml'
condition: ALWAYS
condition: NEVER
- !PublishRoslynatorReportStep
name: publish code problem report
reportName: Code Problems
filePatterns: roslynator-analysis.xml
failThreshold: HIGH
condition: ALWAYS
condition: NEVER
- !SetBuildVersionStep
name: set build version
buildVersion: '@tag@'
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !BuildImageStep
name: build docker image
name: build docker image - Leave
dockerfile: ./BMA.EHR.Leave/Dockerfile
output: !RegistryOutput
tags: hrms-git.chin.in.th/bma-hrms/hrms-api-leave:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-leave:latest
condition: NEVER
- !BuildImageStep
name: build docker image - Checkin
dockerfile: ./BMA.EHR.CheckInConsumer/Dockerfile
output: !RegistryOutput
tags: hrms-git.chin.in.th/bma-hrms/hrms-api-checkin:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-checkin:latest
condition: NEVER
- !BuildImageStep
name: build docker image - Insignia
dockerfile: ./BMA.EHR.Insignia/Dockerfile
output: !RegistryOutput
tags: hrms-git.chin.in.th/bma-hrms/hrms-api-insignia:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-insignia:latest
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
triggers:
- !TagCreateTrigger
@ -68,53 +80,3 @@ jobs:
maxRetries: 3
retryDelay: 30
timeout: 14400
- name: CI for PROD
steps:
- !CheckoutStep
name: checkout code
cloneCredential: !DefaultCredential {}
withLfs: false
withSubmodules: false
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !GenerateChecksumStep
name: generate package checksum
files: package-lock.json yarn.lock
targetFile: checksum
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !SetupCacheStep
name: set up npm cache
key: node_modules_@file:checksum@
loadKeys:
- node_modules
paths:
- node_modules
uploadStrategy: UPLOAD_IF_NOT_HIT
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !SetBuildVersionStep
name: set build version
buildVersion: '@tag@'
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: build & test
runInContainer: true
image: node
interpreter: !DefaultInterpreter
commands: |
npm install
npm run build
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !BuildImageStep
name: build docker image
dockerfile: ./docker/Dockerfile
output: !RegistryOutput
tags: hrms-git.bangkok.go.th/bma-hrms/hrms-api-checkin:@build_version@ hrms-git.bangkok.go.th/bma-hrms/hrms-api-checkin:latest
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
triggers:
- !TagCreateTrigger
tags: prod-*
branches: main
retryCondition: never
maxRetries: 3
retryDelay: 30
timeout: 14400

View file

@ -89,11 +89,23 @@ namespace BMA.EHR.Application.Repositories.Reports
output_desc = string.IsNullOrEmpty(x.output_desc) ? string.Empty : x.output_desc.ToThaiNumber(),
}).ToList();
var skills = probation_assign.result.skills.Select(x => new
{
id = string.IsNullOrEmpty(x.id.ToString()) ? string.Empty : x.id.ToString().ToThaiNumber(),
title = string.IsNullOrEmpty(x.title) ? string.Empty : x.title.ToThaiNumber(),
description = string.IsNullOrEmpty(x.description) ? string.Empty : x.description.ToThaiNumber(),
}).ToList();
var laws = probation_assign.result.laws.Where(x => x.selected == true).Select((x, Index) => new
{
title = string.IsNullOrEmpty(x.description) ? string.Empty : $"{Index + 1}. {x.description.ToThaiNumber()}",
}).ToList();
return new
{
Name = string.IsNullOrEmpty(probation_assign.result.profile.name) ? "-" : probation_assign.result.profile.name,
Position = string.IsNullOrEmpty(probation_assign.result.profile.Position) ? "-" : probation_assign.result.profile.Position,
PositionLevel = string.IsNullOrEmpty(probation_assign.result.profile.PositionLevelName) ? "-" : probation_assign.result.profile.PositionLevelName,
Department = string.IsNullOrEmpty(probation_assign.result.profile.Department) ? "-" : probation_assign.result.profile.Department,
OrganizationOrganization = string.IsNullOrEmpty(probation_assign.result.profile.OrganizationOrganization) ? "-" : probation_assign.result.profile.OrganizationOrganization,
Oc = string.IsNullOrEmpty(probation_assign.result.profile.Oc) ? "-" : probation_assign.result.profile.Oc,
@ -147,26 +159,8 @@ namespace BMA.EHR.Application.Repositories.Reports
var training_seminar = evaluate_record.result.evaluate.training_seminar == "1" ? "🗹 ดำเนินการแล้ว ☐ ยังไม่ได้ดำเนินการ" : "☐ ดำเนินการแล้ว 🗹 ยังไม่ได้ดำเนินการ";
var other_training = evaluate_record.result.evaluate.other_training == "1" ? "🗹 ดำเนินการแล้ว ☐ ยังไม่ได้ดำเนินการ" : "☐ ดำเนินการแล้ว 🗹 ยังไม่ได้ดำเนินการ";
var expects = evaluate_record.result.evaluate != null && evaluate_record.result.evaluate.achievements.Count > 0
? new
{
col1 = evaluate_record.result.evaluate.achievements[0].evaluate_expect_level.col1 == "/" ? "✓" : string.Empty,
col2 = evaluate_record.result.evaluate.achievements[0].evaluate_expect_level.col2 == "/" ? "✓" : string.Empty,
col3 = evaluate_record.result.evaluate.achievements[0].evaluate_expect_level.col3 == "/" ? "✓" : string.Empty,
col4 = evaluate_record.result.evaluate.achievements[0].evaluate_expect_level.col4 == "/" ? "✓" : string.Empty,
col5 = evaluate_record.result.evaluate.achievements[0].evaluate_expect_level.col5 == "/" ? "✓" : string.Empty,
}
: null;
var outputs = evaluate_record.result.evaluate != null && evaluate_record.result.evaluate.achievements.Count > 0
? new
{
col1 = evaluate_record.result.evaluate.achievements[0].evaluate_output_level.col1 == "/" ? "✓" : string.Empty,
col2 = evaluate_record.result.evaluate.achievements[0].evaluate_output_level.col2 == "/" ? "✓" : string.Empty,
col3 = evaluate_record.result.evaluate.achievements[0].evaluate_output_level.col3 == "/" ? "✓" : string.Empty,
col4 = evaluate_record.result.evaluate.achievements[0].evaluate_output_level.col4 == "/" ? "✓" : string.Empty,
col5 = evaluate_record.result.evaluate.achievements[0].evaluate_output_level.col5 == "/" ? "✓" : string.Empty,
}
: null;
var expects = evaluate_record?.result?.evaluate?.achievements?.evaluate_expect_level ?? null;
var outputs = evaluate_record?.result?.evaluate?.achievements?.evaluate_output_level ?? null;
var knows = evaluate_record.result.evaluate != null
? new
{
@ -365,6 +359,7 @@ namespace BMA.EHR.Application.Repositories.Reports
DirectorDated = string.IsNullOrEmpty(evaluate_record.result.evaluate.sign_dated.ToString()) ? "-" : evaluate_record.result.evaluate.sign_dated.ToThaiFullDate().ToString().ToThaiNumber(),
Name = string.IsNullOrEmpty(evaluate_record.result.experimentee.name) ? string.Empty : evaluate_record.result.experimentee.name,
Position = string.IsNullOrEmpty(evaluate_record.result.experimentee.Position) ? string.Empty : evaluate_record.result.experimentee.Position,
PositionLevel = string.IsNullOrEmpty(evaluate_record.result.experimentee.PositionLevelName) ? "-" : evaluate_record.result.experimentee.PositionLevelName,
Department = string.IsNullOrEmpty(evaluate_record.result.experimentee.Department) ? string.Empty : evaluate_record.result.experimentee.Department,
Organization = string.IsNullOrEmpty(evaluate_record.result.experimentee.OrganizationOrganization) ? string.Empty : evaluate_record.result.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_record.result.experimentee.Oc) ? string.Empty : evaluate_record.result.experimentee.Oc,
@ -375,13 +370,7 @@ namespace BMA.EHR.Application.Repositories.Reports
EvaluateDateFinish = string.IsNullOrEmpty(evaluate_record.result.evaluate.date_finish.ToString()) ? string.Empty : evaluate_record.result.evaluate.date_finish.ToThaiFullDate().ToString().ToThaiNumber(),
Role = evaluate_record.result.evaluate.role == "mentor" ? "ผู้ดูแลการทดลองปฏิบัติหน้าที่ราชการ" : "ผู้บังคับบัญชา",
Expects = expects,
ExpectDesc = evaluate_record.result.evaluate != null && evaluate_record.result.evaluate.achievements.Count > 0
? evaluate_record.result.evaluate.achievements[0].evaluate_expect_desc
: string.Empty,
Outputs = outputs,
OutputDesc = evaluate_record.result.evaluate != null && evaluate_record.result.evaluate.achievements.Count > 0
? evaluate_record.result.evaluate.achievements[0].evaluate_output_desc
: string.Empty,
AchievementOtherDesc = evaluate_record.result.evaluate.achievement_other_desc,
AchievementStrengthDesc = evaluate_record.result.evaluate.achievement_strength_desc,
AchievementImproveDesc = evaluate_record.result.evaluate.achievement_improve_desc,
@ -592,6 +581,7 @@ namespace BMA.EHR.Application.Repositories.Reports
EvaluateDateFinish = string.IsNullOrEmpty(evaluate_assign.result.evaluate.date_finish.ToString()) ? "-" : evaluate_assign.result.evaluate.date_finish.ToThaiFullDate().ToString().ToThaiNumber(),
Name = string.IsNullOrEmpty(evaluate_assign.result.experimentee.name) ? string.Empty : evaluate_assign.result.experimentee.name,
Position = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Position) ? string.Empty : evaluate_assign.result.experimentee.Position,
PositionLevel = string.IsNullOrEmpty(evaluate_assign.result.experimentee.PositionLevelName) ? "-" : evaluate_assign.result.experimentee.PositionLevelName,
Department = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Department) ? string.Empty : evaluate_assign.result.experimentee.Department,
Organization = string.IsNullOrEmpty(evaluate_assign.result.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.result.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Oc) ? string.Empty : evaluate_assign.result.experimentee.Oc,
@ -822,6 +812,7 @@ namespace BMA.EHR.Application.Repositories.Reports
EvaluateDateFinish = string.IsNullOrEmpty(evaluate_assign.result.evaluate.date_finish.ToString()) ? "-" : evaluate_assign.result.evaluate.date_finish.ToThaiFullDate().ToString().ToThaiNumber(),
Name = string.IsNullOrEmpty(evaluate_assign.result.experimentee.name) ? string.Empty : evaluate_assign.result.experimentee.name,
Position = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Position) ? string.Empty : evaluate_assign.result.experimentee.Position,
PositionLevel = string.IsNullOrEmpty(evaluate_assign.result.experimentee.PositionLevelName) ? "-" : evaluate_assign.result.experimentee.PositionLevelName,
Department = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Department) ? string.Empty : evaluate_assign.result.experimentee.Department,
Organization = string.IsNullOrEmpty(evaluate_assign.result.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.result.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Oc) ? string.Empty : evaluate_assign.result.experimentee.Oc,
@ -933,6 +924,7 @@ namespace BMA.EHR.Application.Repositories.Reports
EvaluateDateStart = string.IsNullOrEmpty(evaluate_assign.result.evaluate.date_start.ToString()) ? "-" : evaluate_assign.result.evaluate.date_start.ToThaiFullDate().ToString().ToThaiNumber(),
EvaluateDateFinish = string.IsNullOrEmpty(evaluate_assign.result.evaluate.date_start.ToString()) ? "-" : evaluate_assign.result.evaluate.date_start.ToThaiFullDate().ToString().ToThaiNumber(),
Position = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Position) ? string.Empty : evaluate_assign.result.experimentee.Position,
PositionLevel = string.IsNullOrEmpty(evaluate_assign.result.experimentee.PositionLevelName) ? "-" : evaluate_assign.result.experimentee.PositionLevelName,
Department = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Department) ? string.Empty : evaluate_assign.result.experimentee.Department,
Organization = string.IsNullOrEmpty(evaluate_assign.result.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.result.experimentee.OrganizationOrganization,
Oc = string.IsNullOrEmpty(evaluate_assign.result.experimentee.Oc) ? string.Empty : evaluate_assign.result.experimentee.Oc,

View file

@ -26,6 +26,8 @@ namespace BMA.EHR.Application.Responses
public string Position { get; set; } = string.Empty;
public string Department { get; set; } = string.Empty;
public string Oc { get; set; } = string.Empty;
public string PositionLevelName { get; set; } = string.Empty;
}
public class Commander

View file

@ -26,6 +26,7 @@ namespace BMA.EHR.Application.Responses
public string PositionLineId { get; set; } = string.Empty;
public string OrganizationOrganization { get; set; } = string.Empty;
public string Position { get; set; } = string.Empty;
public string PositionLevelName { get; set; } = string.Empty;
public string Department { get; set; } = string.Empty;
public string Oc { get; set; } = string.Empty;
}

View file

@ -26,6 +26,7 @@ namespace BMA.EHR.Application.Responses
public string Department { get; set; }
public string OrganizationOrganization { get; set; }
public string Oc { get; set; }
public string PositionLevelName { get; set; }
}
public class Director
@ -89,7 +90,7 @@ namespace BMA.EHR.Application.Responses
public string role { get; set; }
public DateTime createdAt { get; set; }
public DateTime updatedAt { get; set; }
public List<Achievement> achievements { get; set; }
public Achievement achievements { get; set; }
}
public class Achievement
@ -102,6 +103,7 @@ namespace BMA.EHR.Application.Responses
public class EvaluateExpectLevel
{
public string? title { get; set; }
public string col1 { get; set; }
public string col2 { get; set; }
public string col3 { get; set; }
@ -111,6 +113,7 @@ namespace BMA.EHR.Application.Responses
public class EvaluateOutputLevel
{
public string? title { get; set; }
public string col1 { get; set; }
public string col2 { get; set; }
public string col3 { get; set; }

View file

@ -64,6 +64,7 @@ namespace BMA.EHR.Application.Responses
public string PositionLevelId { get; set; }
public string PositionLineId { get; set; }
public string Position { get; set; }
public string PositionLevelName { get; set; }
public string Department { get; set; }
public string OrganizationOrganization { get; set; }
public string Oc { get; set; }

View file

@ -15,6 +15,8 @@
public List<Knowledge> knowledges { get; set; }
public List<Competency> competencys { get; set; }
public List<Output> outputs { get; set; }
public List<Law> laws { get; set; }
public List<Skill> skills { get; set; }
}
public class Profile
@ -28,6 +30,7 @@
public string Position { get; set; } = string.Empty;
public string Department { get; set; } = string.Empty;
public string Oc { get; set; } = string.Empty;
public string PositionLevelName { get; set; } = string.Empty;
}
public class Assign
@ -72,6 +75,20 @@
public string description { get; set; } = string.Empty;
}
public class Skill
{
public int id { get; set; }
public string title { get; set; } = string.Empty;
public string description { get; set; } = string.Empty;
}
public class Law
{
public int id { get; set; }
public string description { get; set; } = string.Empty;
public bool selected { get; set; }
}
public class Competency
{
public string id { get; set; } = string.Empty;

View file

@ -42,6 +42,8 @@ RUN dotnet restore
# คัดลอกไฟล์ทั้งหมดและ build
COPY . ./
RUN dotnet build -c Release -o /app/build
# WORKDIR "/src/BMA.EHR.CheckInConsumer"
# RUN dotnet build "BMA.EHR.CheckInConsumer.csproj" -c Release -o /app/build
# ใช้ stage ใหม่สำหรับการ runtime
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime
@ -53,4 +55,4 @@ WORKDIR /app
COPY --from=build /app/build .
# ระบุ entry point ของแอปพลิเคชัน
ENTRYPOINT ["dotnet", "BMA.EHR.CheckInConsumer.dll"]
ENTRYPOINT ["dotnet", "BMA.EHR.CheckInConsumer.dll"]

View file

@ -824,6 +824,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
mouthSalaryAmount = r.mouthSalaryAmount,
isGovernment = false,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -922,6 +924,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
mouthSalaryAmount = r.mouthSalaryAmount,
isGovernment = false,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1021,17 +1025,17 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
.ToListAsync();
var report_data = (from p in data
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
fullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
positionname = p.Position,
positionno = p.PosNo,
organizationname = p.Organization,
salary = r.Amount,
RemarkHorizontal = r.RemarkHorizontal
}).ToList();
join r in req.refIds
on p.Id.ToString() equals r.refId
select new
{
fullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
positionname = p.Position,
positionno = p.PosNo,
organizationname = p.Organization,
salary = r.Amount,
RemarkHorizontal = r.RemarkHorizontal
}).ToList();
var result = new List<dynamic>();
@ -1039,8 +1043,10 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
result.Add(new {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
fullName = _null,
positionname = r.RemarkHorizontal,
positionno = _null,
@ -1095,6 +1101,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
mouthSalaryAmount = r.mouthSalaryAmount,
isGovernment = false,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1209,6 +1217,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
mouthSalaryAmount = r.mouthSalaryAmount,
isGovernment = false,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1321,6 +1331,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1433,6 +1445,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1545,6 +1559,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1657,6 +1673,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1769,6 +1787,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1897,6 +1917,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
positionSalaryAmount = r.positionSalaryAmount,
mouthSalaryAmount = r.mouthSalaryAmount,
profileType = p.profileType,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline";

View file

@ -18,5 +18,7 @@ namespace BMA.EHR.Discipline.Service.Requests
public double? amount { get; set; }
public double? positionSalaryAmount { get; set; }
public double? mouthSalaryAmount { get; set; }
public string? refCommandCode { get; set; }
public string? refCommandName { get; set; }
}
}

View file

@ -13,7 +13,7 @@ COPY ["BMA.EHR.Application/BMA.EHR.Application.csproj", "BMA.EHR.Application/"]
COPY ["BMA.EHR.Infrastructure/BMA.EHR.Infrastructure.csproj", "BMA.EHR.Infrastructure/"]
COPY ["BMA.EHR.Leave/BMA.EHR.Leave.csproj", "BMA.EHR.Leave/"]
RUN dotnet restore "BMA.EHR.Leave/BMA.EHR.Leave.csproj"
RUN dotnet restore "BMA.EHR.Leave/BMA.EHR.Leave.csproj"
COPY . .
WORKDIR "/src/BMA.EHR.Leave"
RUN dotnet build "BMA.EHR.Leave.csproj" -c Release -o /app/build
@ -24,4 +24,4 @@ RUN dotnet publish "BMA.EHR.Leave.csproj" -c Release -o /app/publish /p:UseAppHo
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "BMA.EHR.Leave.dll"]
ENTRYPOINT ["dotnet", "BMA.EHR.Leave.dll"]

View file

@ -341,7 +341,7 @@ namespace BMA.EHR.Placement.Service.Controllers
data.CreatedAt,
data.Reason,
educationOld = data.EducationOld == "/" || data.EducationOld == null ? null : data.EducationOld,
data.EducationOld,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
@ -844,7 +844,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -918,6 +919,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1056,7 +1059,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -1130,6 +1134,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1265,7 +1271,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -1330,6 +1337,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1470,7 +1479,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -1535,6 +1545,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -1618,13 +1630,13 @@ namespace BMA.EHR.Placement.Service.Controllers
{
try
{
var report_data = (from p in _context.PlacementAppointments
//.Include(x => x.PlacementEducation)
// .ThenInclude(x => x.PlacementType)
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
// .Where(x => x.Placement!.PlacementType!.Name == "เลื่อนข้าราชการ")
// .Where(x => x.typeCommand.Trim().ToUpper() == "SLIP")
.ToList()
var report_data = (from p in _context.PlacementAppointments
//.Include(x => x.PlacementEducation)
// .ThenInclude(x => x.PlacementType)
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
// .Where(x => x.Placement!.PlacementType!.Name == "เลื่อนข้าราชการ")
// .Where(x => x.typeCommand.Trim().ToUpper() == "SLIP")
.ToList()
join r in req.refIds
on p.Id.ToString() equals r.refId
orderby r.Sequence
@ -1686,7 +1698,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -1759,6 +1772,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -1735,7 +1735,9 @@ namespace BMA.EHR.Placement.Service.Controllers
positionLevel = p.posLevelName == null ? string.Empty : p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isGovernment = true
isGovernment = true,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
},
bodyPosition = new
{
@ -2040,7 +2042,9 @@ namespace BMA.EHR.Placement.Service.Controllers
positionLevel = p.posLevelName == null ? string.Empty : p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
isGovernment = true
isGovernment = true,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
},
bodyPosition = new
{
@ -2285,6 +2289,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -2514,6 +2520,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -2732,6 +2740,8 @@ namespace BMA.EHR.Placement.Service.Controllers
templateDoc = r.templateDoc,
posmasterId = p.posmasterId,
positionId = p.positionId,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -628,7 +628,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -685,6 +686,8 @@ namespace BMA.EHR.Placement.Service.Controllers
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -335,7 +335,7 @@ namespace BMA.EHR.Placement.Service.Controllers
data.CreatedAt,
data.Reason,
educationOld = data.EducationOld == "/" || data.EducationOld == null ? null : data.EducationOld,
data.EducationOld,
data.AmountOld,
data.PositionOld,
organizationOld = data.OrganizationOld == "/" || data.OrganizationOld == null ? null : data.OrganizationOld,
@ -488,7 +488,7 @@ namespace BMA.EHR.Placement.Service.Controllers
placementReceive.posLevelOldId = org.result.posLevelId;
placementReceive.posLevelNameOld = org.result.posLevelName;
// placementReceive.EducationOld = profile.Educations.Count() == 0 ? null : $"{profile.Educations.OrderByDescending(x => x.FinishDate).FirstOrDefault().Degree}-{profile.Educations.OrderByDescending(x => x.FinishDate).FirstOrDefault().Field}";
placementReceive.EducationOld = org.result.education;
placementReceive.AmountOld = org.result.Amount;
placementReceive.PositionOld = org.result.position;
@ -1089,7 +1089,9 @@ namespace BMA.EHR.Placement.Service.Controllers
positionType = p.posTypeName == null ? string.Empty : p.posTypeName,
positionLevel = p.posLevelName == null ? string.Empty : p.posLevelName,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc
templateDoc = r.templateDoc,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
},
bodyPosition = new
{

View file

@ -511,6 +511,8 @@ namespace BMA.EHR.Placement.Service.Controllers
positionLevel = p.PositionLevelOld,
refCommandNo = $"{r.commandNo}/{r.commandYear.ToThaiYear()}",
templateDoc = r.templateDoc,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -838,7 +838,8 @@ namespace BMA.EHR.Placement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -903,6 +904,8 @@ namespace BMA.EHR.Placement.Service.Controllers
leaveReason = "โอนออก",
dateLeave = r.commandAffectDate,
isLeave = true,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -19,5 +19,7 @@ namespace BMA.EHR.Placement.Service.Requests
public double? amountSpecial { get; set; }
public double? positionSalaryAmount { get; set; }
public double? mouthSalaryAmount { get; set; }
public string? refCommandCode { get; set; }
public string? refCommandName { get; set; }
}
}

View file

@ -78,7 +78,7 @@ namespace BMA.EHR.Report.Service.Controllers
// try
// {
// // Get avatar Image
//var picContent = await _minIOExamService.DownloadFileAsync(avatar);
var picContent = avatar == null ? null : await _minIOExamService.ImagesPath(avatar);
//var pictureBox = (Telerik.Reporting.PictureBox)report.Items["detailSection1"].Items["picAvatar"];
//pictureBox.Value = Image.FromStream(new MemoryStream(picContent.FileContent));
// }
@ -141,7 +141,7 @@ namespace BMA.EHR.Report.Service.Controllers
ContactRelations = candidate.GetType().GetProperty("ContactRelations").GetValue(candidate),
ContactTel = candidate.GetType().GetProperty("ContactTel").GetValue(candidate),
RegisterDate = candidate.GetType().GetProperty("RegisterDate").GetValue(candidate),
Url = "https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg",
Url = picContent ?? "https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg",
Careers = careers,
};

View file

@ -103,7 +103,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
var retirementOthers = await _context.RetirementOthers.AsQueryable()
.OrderByDescending(x => x.CreatedAt)
.Where(x => rootId == "" ? true : (child1Id == "" ? x.rootOldId == rootId : (child2Id == "" ? x.child1OldId == child1Id : (child3Id == "" ? x.child2OldId == child2Id : (child4Id == "" ? x.child3OldId == child3Id : x.child4OldId == child4Id)))))
// .Where(x => rootId == "" ? true : (child1Id == "" ? x.rootOldId == rootId : (child2Id == "" ? x.child1OldId == child1Id : (child3Id == "" ? x.child2OldId == child2Id : (child4Id == "" ? x.child3OldId == child3Id : x.child4OldId == child4Id)))))
.Select(p => new
{
p.Id,
@ -721,7 +721,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -742,7 +743,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
CommandExcecuteDate = _null,
RemarkHorizontal = _null,
RemarkVertical = _null,
});
});
}
}
return Success(result);
@ -793,6 +794,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
leaveReason = _null,
dateLeave = _null,
isGovernment = true,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -927,7 +930,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
{
result.Add(r);
string? _null = null;
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") {
if (r.RemarkHorizontal != null && r.RemarkHorizontal != "")
{
result.Add(new
{
No = _null,
@ -999,7 +1003,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
isLeave = false,
leaveReason = _null,
dateLeave = _null,
isGovernment = true
isGovernment = true,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -103,7 +103,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
var retirementOuts = await _context.RetirementOuts.AsQueryable()
.OrderByDescending(x => x.CreatedAt)
.Where(x => rootId == "" ? true : (child1Id == "" ? x.rootOldId == rootId : (child2Id == "" ? x.child1OldId == child1Id : (child3Id == "" ? x.child2OldId == child2Id : (child4Id == "" ? x.child3OldId == child3Id : x.child4OldId == child4Id)))))
// .Where(x => rootId == "" ? true : (child1Id == "" ? x.rootOldId == rootId : (child2Id == "" ? x.child1OldId == child1Id : (child3Id == "" ? x.child2OldId == child2Id : (child4Id == "" ? x.child3OldId == child3Id : x.child4OldId == child4Id)))))
.Select(p => new
{
p.Id,
@ -547,7 +547,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
isLeave = true,
leaveReason = "ให้ออกจากราชการ",
dateLeave = r.commandAffectDate,
isGovernment = false
isGovernment = false,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -2460,6 +2460,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
isGovernment = false,
leaveReason = "ออกจากราชการ",
dateLeave = r.commandAffectDate,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -2645,6 +2647,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
isLeave = false,
leaveReason = _null,
dateLeave = _null,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -2403,6 +2403,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
isGovernment = false,
leaveReason = "ออกจากราชการ",
dateLeave = r.commandAffectDate,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];
@ -2588,6 +2590,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
isLeave = false,
leaveReason = _null,
dateLeave = _null,
refCommandCode = r.refCommandCode,
refCommandName = r.refCommandName,
}).ToList();
var baseAPIOrg = _configuration["API"];

View file

@ -19,5 +19,7 @@ namespace BMA.EHR.Retirement.Service.Requests
public double? amountSpecial { get; set; }
public double? positionSalaryAmount { get; set; }
public double? mouthSalaryAmount { get; set; }
public string? refCommandCode { get; set; }
public string? refCommandName { get; set; }
}
}