Merge branch 'develop' into dev
* develop: update LeaveController to handle additional leave range options for check-in and check-out statuses update LeaveController to pass currentDate parameter to GetLastEffectRound method update LeaveReportController to pass date parameter to GetLastEffectRound method update GetLastEffectRound method to accept effectiveDate parameter and adjust usage in LeaveReportController add noti discord fix build report fix build report to v2 and add noti remove build forgejo, move to dev branch
This commit is contained in:
commit
d831b208de
21 changed files with 300 additions and 740 deletions
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Checkin Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "checkin-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "checkin-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-checkin
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/checkin-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.CheckInConsumer/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_CHECKIN "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
# name: Build
|
|
||||||
|
|
||||||
# on:
|
|
||||||
# push:
|
|
||||||
# tags:
|
|
||||||
# - "command-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
# - "command-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
# workflow_dispatch:
|
|
||||||
|
|
||||||
# env:
|
|
||||||
# REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
# REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
# REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
# CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
# IMAGE_VERSION: build
|
|
||||||
# DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
# jobs:
|
|
||||||
# build:
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
# steps:
|
|
||||||
# - name: Checkout repository
|
|
||||||
# uses: actions/checkout@v4
|
|
||||||
# - name: Set up Docker Buildx
|
|
||||||
# uses: docker/setup-buildx-action@v2
|
|
||||||
# with:
|
|
||||||
# config-inline: |
|
|
||||||
# [registry."${{ env.REGISTRY }}"]
|
|
||||||
# ca=["/etc/ssl/certs/ca-certificates.crt"]
|
|
||||||
# - name: Tag Version
|
|
||||||
# run: |
|
|
||||||
# if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
# echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/command-dev//g' >> $GITHUB_ENV
|
|
||||||
# else
|
|
||||||
# echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
# fi
|
|
||||||
# - name: Login in to registry
|
|
||||||
# uses: docker/login-action@v2
|
|
||||||
# with:
|
|
||||||
# registry: ${{ env.REGISTRY }}
|
|
||||||
# username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
# password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
# - name: Build and push docker image
|
|
||||||
# uses: docker/build-push-action@v3
|
|
||||||
# with:
|
|
||||||
# platforms: linux/amd64
|
|
||||||
# context: .
|
|
||||||
# file: ./BMA.EHR.Command.Service/Dockerfile
|
|
||||||
# tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-command:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-command:${{ env.IMAGE_VERSION }}
|
|
||||||
# push: true
|
|
||||||
# - name: Remote Deploy
|
|
||||||
# uses: appleboy/ssh-action@v1.2.1
|
|
||||||
# with:
|
|
||||||
# host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
# port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
# username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
# password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
# script: |
|
|
||||||
# cd ~/repo
|
|
||||||
# ./replace-env.sh API_COMMAND "${{ env.IMAGE_VERSION }}"
|
|
||||||
# ./deploy.sh hrms-api-command
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Discipline Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "discipline-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "discipline-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-discipline
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/discipline-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Discipline.Service/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_DISCIPLINE "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Insignia Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "insignia-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "insignia-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-insignia
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/insignia-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Insignia/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_INSIGNIA "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Leave Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "leave-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "leave-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-leave
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/leave-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Leave/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_LEAVE "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Placement Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "placement-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "placement-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-placement
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/placement-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Placement.Service/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
# name: Build
|
|
||||||
|
|
||||||
# on:
|
|
||||||
# push:
|
|
||||||
# tags:
|
|
||||||
# - "report-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
# - "report-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
# workflow_dispatch:
|
|
||||||
|
|
||||||
# env:
|
|
||||||
# REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
# REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
# REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
# CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
# SERVICE_NAME: hrms-api-report
|
|
||||||
# IMAGE_VERSION: build
|
|
||||||
# DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
# jobs:
|
|
||||||
# build:
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
# steps:
|
|
||||||
# - name: Checkout repository
|
|
||||||
# uses: actions/checkout@v4
|
|
||||||
# - name: Set up Docker Buildx
|
|
||||||
# uses: docker/setup-buildx-action@v2
|
|
||||||
# with:
|
|
||||||
# config-inline: |
|
|
||||||
# [registry."${{ env.REGISTRY }}"]
|
|
||||||
# ca=["/etc/ssl/certs/ca-certificates.crt"]
|
|
||||||
# - name: Tag Version
|
|
||||||
# run: |
|
|
||||||
# if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
# echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/report-dev//g' >> $GITHUB_ENV
|
|
||||||
# else
|
|
||||||
# echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
# fi
|
|
||||||
# - name: Login in to registry
|
|
||||||
# uses: docker/login-action@v2
|
|
||||||
# with:
|
|
||||||
# registry: ${{ env.REGISTRY }}
|
|
||||||
# username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
# password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
# - name: Build and push docker image
|
|
||||||
# uses: docker/build-push-action@v3
|
|
||||||
# with:
|
|
||||||
# platforms: linux/amd64
|
|
||||||
# context: .
|
|
||||||
# file: ./BMA.EHR.Report.Service/Dockerfile
|
|
||||||
# tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
# push: true
|
|
||||||
# - name: Remote Deploy
|
|
||||||
# uses: appleboy/ssh-action@v1.2.1
|
|
||||||
# with:
|
|
||||||
# host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
# port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
# username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
# password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
# script: |
|
|
||||||
# cd ~/repo
|
|
||||||
# ./replace-env.sh API_REPORT "${{ env.IMAGE_VERSION }}"
|
|
||||||
# ./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
# - name: Discord Notification
|
|
||||||
# if: always()
|
|
||||||
# run: |
|
|
||||||
# STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
# COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
# TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
# curl -H "Content-Type: application/json" \
|
|
||||||
# -X POST \
|
|
||||||
# -d "{
|
|
||||||
# \"embeds\": [{
|
|
||||||
# \"title\": \"$STATUS\",
|
|
||||||
# \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
|
|
||||||
# \"color\": $COLOR,
|
|
||||||
# \"footer\": {
|
|
||||||
# \"text\": \"Release Notification\",
|
|
||||||
# \"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
# },
|
|
||||||
# \"timestamp\": \"$TIMESTAMP\"
|
|
||||||
# }]
|
|
||||||
# }" \
|
|
||||||
# ${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
name: Build & Deploy Retirement Service
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "retirement-dev[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "retirement-dev[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: latest
|
|
||||||
SERVICE_NAME: hrms-api-retirement
|
|
||||||
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Tag Version
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
VERSION=$(echo "${{ github.ref_name }}" | sed 's/retirement-dev//g')
|
|
||||||
echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Retirement.Service/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_RETIREMENT "${{ env.IMAGE_VERSION }}"
|
|
||||||
./deploy.sh ${{ env.SERVICE_NAME }}
|
|
||||||
|
|
||||||
- name: Discord Notification
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
|
||||||
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
|
||||||
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
-X POST \
|
|
||||||
-d "{
|
|
||||||
\"embeds\": [{
|
|
||||||
\"title\": \"$STATUS\",
|
|
||||||
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
|
|
||||||
\"color\": $COLOR,
|
|
||||||
\"footer\": {
|
|
||||||
\"text\": \"Release Notification\",
|
|
||||||
\"icon_url\": \"https://example.com/success-icon.png\"
|
|
||||||
},
|
|
||||||
\"timestamp\": \"$TIMESTAMP\"
|
|
||||||
}]
|
|
||||||
}" \
|
|
||||||
${{ env.DISCORD_WEBHOOK }}
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
name: Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "leave[0-9]+.[0-9]+.[0-9]+"
|
|
||||||
- "leave[0-9]+.[0-9]+.[0-9]+*"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
|
||||||
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
|
||||||
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
|
|
||||||
IMAGE_VERSION: build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v2
|
|
||||||
with:
|
|
||||||
config-inline: |
|
|
||||||
[registry."${{ env.REGISTRY }}"]
|
|
||||||
ca=["/etc/ssl/certs/ca-certificates.crt"]
|
|
||||||
- name: Tag Version
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.event_name }}" == "push" ]]; then
|
|
||||||
echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/leave//g' >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
- name: Login in to registry
|
|
||||||
uses: docker/login-action@v2
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ env.REGISTRY_USERNAME }}
|
|
||||||
password: ${{ env.REGISTRY_PASSWORD }}
|
|
||||||
- name: Build and push docker image
|
|
||||||
uses: docker/build-push-action@v3
|
|
||||||
with:
|
|
||||||
platforms: linux/amd64
|
|
||||||
context: .
|
|
||||||
file: ./BMA.EHR.Leave/Dockerfile
|
|
||||||
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-leave:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-leave:${{ env.IMAGE_VERSION }}
|
|
||||||
push: true
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
name: Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: "Version to deploy"
|
|
||||||
type: string
|
|
||||||
required: false
|
|
||||||
default: "latest"
|
|
||||||
|
|
||||||
env:
|
|
||||||
IMAGE_VERSION: build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Remote Deploy
|
|
||||||
uses: appleboy/ssh-action@v1.2.1
|
|
||||||
with:
|
|
||||||
host: ${{ vars.SSH_DEPLOY_HOST }}
|
|
||||||
port: ${{ vars.SSH_DEPLOY_PORT }}
|
|
||||||
username: ${{ secrets.SSH_DEPLOY_USER }}
|
|
||||||
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
|
||||||
script: |
|
|
||||||
cd ~/repo
|
|
||||||
./replace-env.sh API_LEAVE "${{ inputs.version }}"
|
|
||||||
./deploy.sh hrms-api-leave
|
|
||||||
29
.github/workflows/dockerhub-release-checkin.yaml
vendored
29
.github/workflows/dockerhub-release-checkin.yaml
vendored
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-checkin
|
IMAGE_NAME: hrms-api-checkin
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS CheckIn Consumer Service
|
org.opencontainers.image.description=HRMS CheckIn Consumer Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
29
.github/workflows/dockerhub-release-command.yaml
vendored
29
.github/workflows/dockerhub-release-command.yaml
vendored
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-command
|
IMAGE_NAME: hrms-api-command
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Command API Service
|
org.opencontainers.image.description=HRMS Command API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-discipline
|
IMAGE_NAME: hrms-api-discipline
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Discipline API Service
|
org.opencontainers.image.description=HRMS Discipline API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-insignia
|
IMAGE_NAME: hrms-api-insignia
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Insignia API Service
|
org.opencontainers.image.description=HRMS Insignia API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
29
.github/workflows/dockerhub-release-leave.yaml
vendored
29
.github/workflows/dockerhub-release-leave.yaml
vendored
|
|
@ -17,6 +17,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-leave
|
IMAGE_NAME: hrms-api-leave
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -88,3 +89,31 @@ jobs:
|
||||||
|
|
||||||
- name: Image digest
|
- name: Image digest
|
||||||
run: echo "Image pushed with digest ${{ steps.build.outputs.digest }}"
|
run: echo "Image pushed with digest ${{ steps.build.outputs.digest }}"
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-placement
|
IMAGE_NAME: hrms-api-placement
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Placement API Service
|
org.opencontainers.image.description=HRMS Placement API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ run-name: DockerHub Release - Report Service by ${{ github.actor }}
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "report-[0-9]+.[0-9]+.[0-9]+"
|
- "reportv2-[0-9]+.[0-9]+.[0-9]+"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
IMAGE_VER:
|
IMAGE_VER:
|
||||||
|
|
@ -13,7 +13,8 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-report
|
IMAGE_NAME: hrms-api-reportv2
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Report API Service
|
org.opencontainers.image.description=HRMS Report API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
@ -14,6 +14,7 @@ on:
|
||||||
env:
|
env:
|
||||||
DOCKERHUB_REGISTRY: docker.io
|
DOCKERHUB_REGISTRY: docker.io
|
||||||
IMAGE_NAME: hrms-api-retirement
|
IMAGE_NAME: hrms-api-retirement
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-to-dockerhub:
|
release-to-dockerhub:
|
||||||
|
|
@ -70,3 +71,31 @@ jobs:
|
||||||
org.opencontainers.image.description=HRMS Retirement API Service
|
org.opencontainers.image.description=HRMS Retirement API Service
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Notify Discord on success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
||||||
|
- name: Notify Discord on failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
run: |
|
||||||
|
TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
|
||||||
|
REF_INFO="Ref: ${GITHUB_REF}"
|
||||||
|
ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
|
||||||
|
MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
|
||||||
|
curl -s -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{\"content\":\"${MSG}\"}" \
|
||||||
|
"$DISCORD_WEBHOOK"
|
||||||
|
|
|
||||||
|
|
@ -101,12 +101,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserDutyTime?> GetLastEffectRound(Guid profileId)
|
public async Task<UserDutyTime?> GetLastEffectRound(Guid profileId, DateTime? effectiveDate = null)
|
||||||
{
|
{
|
||||||
|
effectiveDate ??= DateTime.Now;
|
||||||
var data = await _dbContext.Set<UserDutyTime>()
|
var data = await _dbContext.Set<UserDutyTime>()
|
||||||
.Where(x => x.ProfileId == profileId)
|
.Where(x => x.ProfileId == profileId)
|
||||||
.Where(x => x.IsProcess)
|
.Where(x => x.EffectiveDate.Value.Date <= effectiveDate.Value.Date)
|
||||||
.Where(x => x.EffectiveDate.Value.Date <= DateTime.Now.Date)
|
|
||||||
.OrderByDescending(x => x.EffectiveDate)
|
.OrderByDescending(x => x.EffectiveDate)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -812,7 +812,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error("ไม่พบรอบการลงเวลาทำงาน Default", StatusCodes.Status404NotFound);
|
return Error("ไม่พบรอบการลงเวลาทำงาน Default", StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id);
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id, currentDate);
|
||||||
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
|
|
@ -877,7 +877,28 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
else
|
else
|
||||||
startTime = duty.StartTimeMorning;
|
startTime = duty.StartTimeMorning;
|
||||||
|
|
||||||
var checkInStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
string checkInStatus = "NORMAL";
|
||||||
|
var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date);
|
||||||
|
if (leaveReq != null)
|
||||||
|
{
|
||||||
|
var leaveRange = leaveReq.LeaveRange == null ? "" : leaveReq.LeaveRange.ToUpper();
|
||||||
|
if (leaveRange == "MORNING" || leaveRange == "ALL")
|
||||||
|
checkInStatus = "NORMAL";
|
||||||
|
else
|
||||||
|
{
|
||||||
|
checkInStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {startTime}") ?
|
||||||
|
|
||||||
|
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
|
"ABSENT" :
|
||||||
|
"LATE" :
|
||||||
|
"NORMAL";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
checkInStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {startTime}") ?
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {startTime}") ?
|
||||||
|
|
||||||
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
|
|
@ -885,6 +906,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
"ABSENT" :
|
"ABSENT" :
|
||||||
"LATE" :
|
"LATE" :
|
||||||
"NORMAL";
|
"NORMAL";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// process - รอทำใน queue
|
// process - รอทำใน queue
|
||||||
var checkin_process = new ProcessUserTimeStamp
|
var checkin_process = new ProcessUserTimeStamp
|
||||||
|
|
@ -959,16 +982,41 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
|
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลาเข้า-ออกงาน (กรณีลงเวลาออกอีกวัน) #921
|
|
||||||
var checkOutStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
string checkOutStatus = "NORMAL";
|
||||||
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date);
|
||||||
// "ABSENT" :
|
if (leaveReq != null)
|
||||||
checkout.CheckIn.Date < currentDate.Date ? "NORMAL" :
|
{
|
||||||
"ABSENT" :
|
var leaveRange = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
if (leaveRange == "AFTERNOON" || leaveRange == "ALL")
|
||||||
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
checkOutStatus = "NORMAL";
|
||||||
"ABSENT" :
|
else
|
||||||
"NORMAL";
|
{
|
||||||
|
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลาเข้า-ออกงาน (กรณีลงเวลาออกอีกวัน) #921
|
||||||
|
checkOutStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
||||||
|
// "ABSENT" :
|
||||||
|
checkout.CheckIn.Date < currentDate.Date ? "NORMAL" :
|
||||||
|
"ABSENT" :
|
||||||
|
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
|
"ABSENT" :
|
||||||
|
"NORMAL";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลาเข้า-ออกงาน (กรณีลงเวลาออกอีกวัน) #921
|
||||||
|
checkOutStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
||||||
|
// "ABSENT" :
|
||||||
|
checkout.CheckIn.Date < currentDate.Date ? "NORMAL" :
|
||||||
|
"ABSENT" :
|
||||||
|
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
|
"ABSENT" :
|
||||||
|
"NORMAL";
|
||||||
|
}
|
||||||
|
|
||||||
if (checkout_process != null)
|
if (checkout_process != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1768,7 +1768,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
// return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(p.Id);
|
// ให้ใช้วันที่จาก loop date แทน
|
||||||
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(p.Id, dd.date);
|
||||||
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
|
|
@ -2098,7 +2099,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{p.Prefix}{p.FirstName} {p.LastName}";
|
var fullName = $"{p.Prefix}{p.FirstName} {p.LastName}";
|
||||||
|
|
||||||
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(p.Id);
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(p.Id, dd.date);
|
||||||
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue