no message
This commit is contained in:
parent
63b02dcc4c
commit
afe16503ee
17 changed files with 36169 additions and 139 deletions
2
.github/workflows/release_command.yaml
vendored
2
.github/workflows/release_command.yaml
vendored
|
|
@ -17,7 +17,7 @@ env:
|
|||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
# act workflow_dispatch -W .github/workflows/release_command.yaml --input IMAGE_VER=command-1.0.0 -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||
# act workflow_dispatch -W .github/workflows/release_command.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
|
||||
release-dev:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
|
|||
2
.github/workflows/release_discipline.yaml
vendored
2
.github/workflows/release_discipline.yaml
vendored
|
|
@ -17,7 +17,7 @@ env:
|
|||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
# act workflow_dispatch -W .github/workflows/release_discipline.yaml --input IMAGE_VER=discipline-1.0.0 -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||
# act workflow_dispatch -W .github/workflows/release_discipline.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
|
||||
release-dev:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
|
|||
2
.github/workflows/release_report.yaml
vendored
2
.github/workflows/release_report.yaml
vendored
|
|
@ -17,7 +17,7 @@ env:
|
|||
TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
|
||||
|
||||
jobs:
|
||||
# act workflow_dispatch -W .github/workflows/release_report.yaml --input IMAGE_VER=report-1.0.0 -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||
# act workflow_dispatch -W .github/workflows/release_report.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
|
||||
release-dev:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ using BMA.EHR.Infrastructure.Persistence;
|
|||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
||||
|
|
@ -28,12 +30,14 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
|||
private readonly MinIODisciplineService _documentService;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
private readonly NotificationRepository _repositoryNoti;
|
||||
private readonly IConfiguration _configuration;
|
||||
|
||||
public DisciplineComplaint_AppealController(DisciplineDbContext context,
|
||||
NotificationRepository repositoryNoti,
|
||||
ApplicationDBContext contextMain,
|
||||
MinIODisciplineService documentService,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
IHttpContextAccessor httpContextAccessor,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
// _repository = repository;
|
||||
_context = context;
|
||||
|
|
@ -41,6 +45,7 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
|||
_repositoryNoti = repositoryNoti;
|
||||
_documentService = documentService;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_configuration = configuration;
|
||||
}
|
||||
|
||||
#region " Properties "
|
||||
|
|
@ -48,6 +53,7 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
|||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
private string? token => _httpContextAccessor?.HttpContext?.Request.Headers["Authorization"];
|
||||
private static string StatusDisciplineComplaintAppeal(string value)
|
||||
{
|
||||
switch (value)
|
||||
|
|
@ -76,10 +82,24 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
|||
[HttpGet("user")]
|
||||
public async Task<ActionResult<ResponseObject>> GetDisciplineUser(string status = "ALL", string type = "ALL", int year = 0, int page = 1, int pageSize = 25, string keyword = "")
|
||||
{
|
||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||
var profile = _contextMain.Profiles.FirstOrDefault(x => x.KeycloakId == userId);
|
||||
if (profile == null)
|
||||
var id = "";
|
||||
var apiUrl = $"{_configuration["API"]}org/profile/keycloak/position";
|
||||
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<dynamic>(_result);
|
||||
|
||||
if (org == null || org.result == null)
|
||||
return Success(new { data = new List<dynamic>(), total = 0 });
|
||||
id = org.result.profileId;
|
||||
}
|
||||
if (id == "")
|
||||
return Success(new { data = new List<dynamic>(), total = 0 });
|
||||
|
||||
var data_search = (from x in _context.DisciplineComplaint_Appeals
|
||||
where x.Title.Contains(keyword) ||
|
||||
x.Description.Contains(keyword) ||
|
||||
|
|
@ -87,7 +107,7 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
|||
x.CaseNumber.Contains(keyword) ||
|
||||
x.Fullname.Contains(keyword) ||
|
||||
x.CitizenId.Contains(keyword)
|
||||
where x.ProfileId == profile.Id
|
||||
where x.ProfileId == Guid.Parse(id)
|
||||
select x).ToList();
|
||||
if (status.Trim().ToUpper() != "ALL")
|
||||
data_search = data_search.Where(x => x.Status == status).ToList();
|
||||
|
|
|
|||
|
|
@ -38,5 +38,6 @@
|
|||
"Hour": "08",
|
||||
"Minute": "00"
|
||||
},
|
||||
"Protocol": "HTTPS"
|
||||
"Protocol": "HTTPS",
|
||||
"API": "https://bma-ehr.frappet.synology.me/api/v1/"
|
||||
}
|
||||
|
|
@ -15,17 +15,17 @@ namespace BMA.EHR.Domain.Models.Placement
|
|||
[MaxLength(40), Comment("วันเกิด")]
|
||||
public DateTime DateOfBirth { get; set; }
|
||||
[Comment("Id เพศ")]
|
||||
public Gender? Gender { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
[MaxLength(100), Comment("สัญชาติ")]
|
||||
public string? Nationality { get; set; }
|
||||
[MaxLength(100), Comment("เชื้อชาติ")]
|
||||
public string? Race { get; set; }
|
||||
[Comment("Id ศาสนา")]
|
||||
public Religion? Religion { get; set; }
|
||||
public string? Religion { get; set; }
|
||||
[Comment("Id กลุ่มเลือด")]
|
||||
public BloodGroup? BloodGroup { get; set; }
|
||||
public string? BloodGroup { get; set; }
|
||||
[Comment("Id สถานะภาพ")]
|
||||
public Relationship? Relationship { get; set; }
|
||||
public string? Relationship { get; set; }
|
||||
[MaxLength(50), Comment("เบอร์โทร")]
|
||||
public string? TelephoneNumber { get; set; }
|
||||
[Comment("สถานะคำขอ")]
|
||||
|
|
|
|||
|
|
@ -59,6 +59,14 @@ namespace BMA.EHR.Domain.Models.Retirement
|
|||
public string? CommanderRejectReason { get; set; }
|
||||
[Comment("วันที่ยับยั้งผู้บังคับบัญชา")]
|
||||
public DateTime? CommanderRejectDate { get; set; }
|
||||
[Comment("สถานะยับยั้งการเจ้าหน้าที่")]
|
||||
public bool? OfficerReject { get; set; }
|
||||
[Comment("เหตุผลอนุมัติการเจ้าหน้าที่")]
|
||||
public string? OfficerApproveReason { get; set; }
|
||||
[Comment("เหตุผลยับยั้งการเจ้าหน้าที่")]
|
||||
public string? OfficerRejectReason { get; set; }
|
||||
[Comment("วันที่ยับยั้งการเจ้าหน้าที่")]
|
||||
public DateTime? OfficerRejectDate { get; set; }
|
||||
[Comment("หมายเหตุแนวนอน")]
|
||||
public string? RemarkHorizontal { get; set; }
|
||||
[Comment("สังกัดเดิม")]
|
||||
|
|
|
|||
17853
BMA.EHR.Infrastructure/Migrations/20240523051504_update table RetirementResigns add OfficerReject.Designer.cs
generated
Normal file
17853
BMA.EHR.Infrastructure/Migrations/20240523051504_update table RetirementResigns add OfficerReject.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Infrastructure.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class updatetableRetirementResignsaddOfficerReject : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OfficerApproveReason",
|
||||
table: "RetirementResigns",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "เหตุผลอนุมัติการเจ้าหน้าที่")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "OfficerReject",
|
||||
table: "RetirementResigns",
|
||||
type: "tinyint(1)",
|
||||
nullable: true,
|
||||
comment: "สถานะยับยั้งการเจ้าหน้าที่");
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "OfficerRejectDate",
|
||||
table: "RetirementResigns",
|
||||
type: "datetime(6)",
|
||||
nullable: true,
|
||||
comment: "วันที่ยับยั้งการเจ้าหน้าที่");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OfficerRejectReason",
|
||||
table: "RetirementResigns",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "เหตุผลยับยั้งการเจ้าหน้าที่")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OfficerApproveReason",
|
||||
table: "RetirementResigns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OfficerReject",
|
||||
table: "RetirementResigns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OfficerRejectDate",
|
||||
table: "RetirementResigns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OfficerRejectReason",
|
||||
table: "RetirementResigns");
|
||||
}
|
||||
}
|
||||
}
|
||||
17825
BMA.EHR.Infrastructure/Migrations/20240523093017_update table PlacementReceiveadd gender.Designer.cs
generated
Normal file
17825
BMA.EHR.Infrastructure/Migrations/20240523093017_update table PlacementReceiveadd gender.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,191 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Infrastructure.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class updatetablePlacementReceiveaddgender : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_PlacementReceives_BloodGroups_BloodGroupId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_PlacementReceives_Genders_GenderId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_PlacementReceives_Relationships_RelationshipId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_PlacementReceives_Religions_ReligionId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_PlacementReceives_BloodGroupId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_PlacementReceives_GenderId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_PlacementReceives_RelationshipId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_PlacementReceives_ReligionId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BloodGroupId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "GenderId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RelationshipId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ReligionId",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "BloodGroup",
|
||||
table: "PlacementReceives",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "Id กลุ่มเลือด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Gender",
|
||||
table: "PlacementReceives",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "Id เพศ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Relationship",
|
||||
table: "PlacementReceives",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "Id สถานะภาพ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Religion",
|
||||
table: "PlacementReceives",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "Id ศาสนา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BloodGroup",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Gender",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Relationship",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Religion",
|
||||
table: "PlacementReceives");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "BloodGroupId",
|
||||
table: "PlacementReceives",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "GenderId",
|
||||
table: "PlacementReceives",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "RelationshipId",
|
||||
table: "PlacementReceives",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "ReligionId",
|
||||
table: "PlacementReceives",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PlacementReceives_BloodGroupId",
|
||||
table: "PlacementReceives",
|
||||
column: "BloodGroupId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PlacementReceives_GenderId",
|
||||
table: "PlacementReceives",
|
||||
column: "GenderId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PlacementReceives_RelationshipId",
|
||||
table: "PlacementReceives",
|
||||
column: "RelationshipId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PlacementReceives_ReligionId",
|
||||
table: "PlacementReceives",
|
||||
column: "ReligionId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PlacementReceives_BloodGroups_BloodGroupId",
|
||||
table: "PlacementReceives",
|
||||
column: "BloodGroupId",
|
||||
principalTable: "BloodGroups",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PlacementReceives_Genders_GenderId",
|
||||
table: "PlacementReceives",
|
||||
column: "GenderId",
|
||||
principalTable: "Genders",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PlacementReceives_Relationships_RelationshipId",
|
||||
table: "PlacementReceives",
|
||||
column: "RelationshipId",
|
||||
principalTable: "Relationships",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PlacementReceives_Religions_ReligionId",
|
||||
table: "PlacementReceives",
|
||||
column: "ReligionId",
|
||||
principalTable: "Religions",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12594,8 +12594,9 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
b.Property<Guid?>("AvatarId")
|
||||
.HasColumnType("char(36)");
|
||||
|
||||
b.Property<Guid?>("BloodGroupId")
|
||||
.HasColumnType("char(36)");
|
||||
b.Property<string>("BloodGroup")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("Id กลุ่มเลือด");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
|
|
@ -12625,8 +12626,9 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("วุฒิ/สาขาเดิม");
|
||||
|
||||
b.Property<Guid?>("GenderId")
|
||||
.HasColumnType("char(36)");
|
||||
b.Property<string>("Gender")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("Id เพศ");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
|
|
@ -12689,11 +12691,13 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("เหตุผลที่รับโอนราชการ");
|
||||
|
||||
b.Property<Guid?>("RelationshipId")
|
||||
.HasColumnType("char(36)");
|
||||
b.Property<string>("Relationship")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("Id สถานะภาพ");
|
||||
|
||||
b.Property<Guid?>("ReligionId")
|
||||
.HasColumnType("char(36)");
|
||||
b.Property<string>("Religion")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("Id ศาสนา");
|
||||
|
||||
b.Property<DateTime?>("ReportingDate")
|
||||
.HasColumnType("datetime(6)")
|
||||
|
|
@ -12921,14 +12925,6 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
|
||||
b.HasIndex("AvatarId");
|
||||
|
||||
b.HasIndex("BloodGroupId");
|
||||
|
||||
b.HasIndex("GenderId");
|
||||
|
||||
b.HasIndex("RelationshipId");
|
||||
|
||||
b.HasIndex("ReligionId");
|
||||
|
||||
b.ToTable("PlacementReceives");
|
||||
});
|
||||
|
||||
|
|
@ -15554,6 +15550,22 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("สถานที่ยื่นขอลาออกราชการ");
|
||||
|
||||
b.Property<string>("OfficerApproveReason")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("เหตุผลอนุมัติการเจ้าหน้าที่");
|
||||
|
||||
b.Property<bool?>("OfficerReject")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasComment("สถานะยับยั้งการเจ้าหน้าที่");
|
||||
|
||||
b.Property<DateTime?>("OfficerRejectDate")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasComment("วันที่ยับยั้งการเจ้าหน้าที่");
|
||||
|
||||
b.Property<string>("OfficerRejectReason")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("เหตุผลยับยั้งการเจ้าหน้าที่");
|
||||
|
||||
b.Property<string>("OligarchApproveReason")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("เหตุผลอนุมัติผู้ดูแล");
|
||||
|
|
@ -17210,31 +17222,7 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.WithMany()
|
||||
.HasForeignKey("AvatarId");
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.BloodGroup", "BloodGroup")
|
||||
.WithMany()
|
||||
.HasForeignKey("BloodGroupId");
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.Gender", "Gender")
|
||||
.WithMany()
|
||||
.HasForeignKey("GenderId");
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.Relationship", "Relationship")
|
||||
.WithMany()
|
||||
.HasForeignKey("RelationshipId");
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.Religion", "Religion")
|
||||
.WithMany()
|
||||
.HasForeignKey("ReligionId");
|
||||
|
||||
b.Navigation("Avatar");
|
||||
|
||||
b.Navigation("BloodGroup");
|
||||
|
||||
b.Navigation("Gender");
|
||||
|
||||
b.Navigation("Relationship");
|
||||
|
||||
b.Navigation("Religion");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceiveDoc", b =>
|
||||
|
|
|
|||
|
|
@ -197,12 +197,12 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
p.firstName,
|
||||
p.lastName,
|
||||
p.DateOfBirth,
|
||||
Gender = p.Gender == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Gender.Id,
|
||||
Gender = p.Gender,
|
||||
p.Nationality,
|
||||
p.Race,
|
||||
Religion = p.Religion == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Religion.Id,
|
||||
BloodGroup = p.BloodGroup == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.BloodGroup.Id,
|
||||
Relationship = p.Relationship == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Relationship.Id,
|
||||
Religion = p.Religion,
|
||||
BloodGroup = p.BloodGroup,
|
||||
Relationship = p.Relationship,
|
||||
p.TelephoneNumber,
|
||||
p.Status,
|
||||
p.Amount,
|
||||
|
|
@ -389,12 +389,12 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
firstName = req.firstName,
|
||||
lastName = req.lastName,
|
||||
DateOfBirth = req.BirthDate,
|
||||
Gender = await _context.Genders.FindAsync(req.GenderId),
|
||||
Gender = req.Gender,
|
||||
Nationality = req.Nationality,
|
||||
Race = req.Race,
|
||||
Religion = await _context.Religions.FindAsync(req.ReligionId),
|
||||
BloodGroup = await _context.BloodGroups.FindAsync(req.BloodGroupId),
|
||||
Relationship = await _context.Relationships.FindAsync(req.RelationshipId),
|
||||
Religion = req.Religion,
|
||||
BloodGroup = req.BloodGroup,
|
||||
Relationship = req.Relationship,
|
||||
TelephoneNumber = req.TelephoneNumber,
|
||||
Status = "WAITTING",
|
||||
CreatedFullName = FullName ?? "System Administrator",
|
||||
|
|
@ -700,37 +700,10 @@ namespace BMA.EHR.Placement.Service.Controllers
|
|||
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
||||
}
|
||||
|
||||
if (req.RelationshipId != null)
|
||||
{
|
||||
var save = await _context.Relationships.FindAsync(req.RelationshipId);
|
||||
if (save == null)
|
||||
return Error(GlobalMessages.RelationshipNotFound, 404);
|
||||
uppdated.Relationship = save;
|
||||
}
|
||||
|
||||
if (req.ReligionId != null)
|
||||
{
|
||||
var save = await _context.Religions.FindAsync(req.ReligionId);
|
||||
if (save == null)
|
||||
return Error(GlobalMessages.ReligionNotFound, 404);
|
||||
uppdated.Religion = save;
|
||||
}
|
||||
|
||||
if (req.BloodGroupId != null)
|
||||
{
|
||||
var save = await _context.BloodGroups.FindAsync(req.BloodGroupId);
|
||||
if (save == null)
|
||||
return Error(GlobalMessages.BloodGroupNotFound, 404);
|
||||
uppdated.BloodGroup = save;
|
||||
}
|
||||
|
||||
if (req.GenderId != null)
|
||||
{
|
||||
var save = await _context.Genders.FindAsync(req.GenderId);
|
||||
if (save == null)
|
||||
return Error(GlobalMessages.GenderNotFound, 404);
|
||||
uppdated.Gender = save;
|
||||
}
|
||||
uppdated.Relationship = req.Relationship;
|
||||
uppdated.Religion = req.Religion;
|
||||
uppdated.BloodGroup = req.BloodGroup;
|
||||
uppdated.Gender = req.Gender;
|
||||
uppdated.citizenId = req.citizenId;
|
||||
uppdated.prefix = req.prefix;
|
||||
uppdated.firstName = req.firstName;
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ namespace BMA.EHR.Placement.Service.Requests
|
|||
public string firstName { get; set; }
|
||||
public string lastName { get; set; }
|
||||
public DateTime DateOfBirth { get; set; }
|
||||
public Guid? GenderId { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
public string? Nationality { get; set; }
|
||||
public string? Race { get; set; }
|
||||
public Guid? ReligionId { get; set; }
|
||||
public Guid? BloodGroupId { get; set; }
|
||||
public Guid? RelationshipId { get; set; }
|
||||
public string? Religion { get; set; }
|
||||
public string? BloodGroup { get; set; }
|
||||
public string? Relationship { get; set; }
|
||||
public string? TelephoneNumber { get; set; }
|
||||
public string? Reason { get; set; }
|
||||
public string? EducationOld { get; set; }
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ namespace BMA.EHR.Placement.Service.Requests
|
|||
public string firstName { get; set; }
|
||||
public string lastName { get; set; }
|
||||
public DateTime BirthDate { get; set; }
|
||||
public Guid? GenderId { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
public string? Nationality { get; set; }
|
||||
public string? Race { get; set; }
|
||||
public Guid? ReligionId { get; set; }
|
||||
public Guid? BloodGroupId { get; set; }
|
||||
public Guid? RelationshipId { get; set; }
|
||||
public string? Religion { get; set; }
|
||||
public string? BloodGroup { get; set; }
|
||||
public string? Relationship { get; set; }
|
||||
public string? TelephoneNumber { get; set; }
|
||||
public List<FormFile>? File { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,10 +242,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
p.CommanderApproveReason,
|
||||
p.CommanderRejectReason,
|
||||
p.CommanderRejectDate,
|
||||
p.OfficerReject,
|
||||
p.OfficerApproveReason,
|
||||
p.OfficerRejectReason,
|
||||
p.OfficerRejectDate,
|
||||
p.RemarkHorizontal,
|
||||
p.position,
|
||||
p.posTypeName,
|
||||
p.posLevelName,
|
||||
p.posMasterNo,
|
||||
// Avatar = p.Profile.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.Avatar.Id,
|
||||
RetirementResignDocs = p.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||
RetirementResignDebtDocs = p.RetirementResignDebtDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||
// RetirementResignDebtDocs = p.RetirementResignDebtDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
if (data == null)
|
||||
|
|
@ -262,17 +270,17 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
};
|
||||
retirementResignDocs.Add(_doc);
|
||||
}
|
||||
var retirementResignDebtDocs = new List<dynamic>();
|
||||
foreach (var doc in data.RetirementResignDebtDocs)
|
||||
{
|
||||
var _doc = new
|
||||
{
|
||||
FileName = doc.FileName,
|
||||
PathName = await _documentService.ImagesPath(doc.Id),
|
||||
doc.Id,
|
||||
};
|
||||
retirementResignDebtDocs.Add(_doc);
|
||||
}
|
||||
// var retirementResignDebtDocs = new List<dynamic>();
|
||||
// foreach (var doc in data.RetirementResignDebtDocs)
|
||||
// {
|
||||
// var _doc = new
|
||||
// {
|
||||
// FileName = doc.FileName,
|
||||
// PathName = await _documentService.ImagesPath(doc.Id),
|
||||
// doc.Id,
|
||||
// };
|
||||
// retirementResignDebtDocs.Add(_doc);
|
||||
// }
|
||||
var _data = new
|
||||
{
|
||||
data.Id,
|
||||
|
|
@ -303,10 +311,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
data.CommanderApproveReason,
|
||||
data.CommanderRejectReason,
|
||||
data.CommanderRejectDate,
|
||||
data.OfficerReject,
|
||||
data.OfficerApproveReason,
|
||||
data.OfficerRejectReason,
|
||||
data.OfficerRejectDate,
|
||||
data.RemarkHorizontal,
|
||||
data.position,
|
||||
data.posTypeName,
|
||||
data.posLevelName,
|
||||
data.posMasterNo,
|
||||
// Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
|
||||
Docs = retirementResignDocs,
|
||||
DocDebts = retirementResignDebtDocs,
|
||||
// DocDebts = retirementResignDebtDocs,
|
||||
};
|
||||
|
||||
return Success(_data);
|
||||
|
|
@ -501,32 +517,32 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
updated.LastUpdateUserId = UserId ?? "";
|
||||
updated.LastUpdatedAt = DateTime.Now;
|
||||
|
||||
if (Request.Form.Files != null && Request.Form.Files.Count != 0)
|
||||
{
|
||||
foreach (var file in Request.Form.Files)
|
||||
{
|
||||
var fileExtension = Path.GetExtension(file.FileName);
|
||||
// if (Request.Form.Files != null && Request.Form.Files.Count != 0)
|
||||
// {
|
||||
// foreach (var file in Request.Form.Files)
|
||||
// {
|
||||
// var fileExtension = Path.GetExtension(file.FileName);
|
||||
|
||||
var doc = await _documentService.UploadFileAsync(file, file.FileName);
|
||||
var _doc = await _context.Documents.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == doc.Id);
|
||||
if (_doc != null)
|
||||
{
|
||||
var retirementResignDebtDoc = new RetirementResignDebtDoc
|
||||
{
|
||||
RetirementResign = updated,
|
||||
Document = _doc,
|
||||
CreatedFullName = FullName ?? "System Administrator",
|
||||
CreatedUserId = UserId ?? "",
|
||||
CreatedAt = DateTime.Now,
|
||||
LastUpdateFullName = FullName ?? "System Administrator",
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
};
|
||||
await _context.RetirementResignDebtDocs.AddAsync(retirementResignDebtDoc);
|
||||
}
|
||||
}
|
||||
}
|
||||
// var doc = await _documentService.UploadFileAsync(file, file.FileName);
|
||||
// var _doc = await _context.Documents.AsQueryable()
|
||||
// .FirstOrDefaultAsync(x => x.Id == doc.Id);
|
||||
// if (_doc != null)
|
||||
// {
|
||||
// var retirementResignDebtDoc = new RetirementResignDebtDoc
|
||||
// {
|
||||
// RetirementResign = updated,
|
||||
// Document = _doc,
|
||||
// CreatedFullName = FullName ?? "System Administrator",
|
||||
// CreatedUserId = UserId ?? "",
|
||||
// CreatedAt = DateTime.Now,
|
||||
// LastUpdateFullName = FullName ?? "System Administrator",
|
||||
// LastUpdateUserId = UserId ?? "",
|
||||
// LastUpdatedAt = DateTime.Now,
|
||||
// };
|
||||
// await _context.RetirementResignDebtDocs.AddAsync(retirementResignDebtDoc);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
await _context.SaveChangesAsync();
|
||||
return Success();
|
||||
}
|
||||
|
|
@ -661,6 +677,92 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// การเจ้าหน้าที่ อนุมัติคำลาออก
|
||||
/// </summary>
|
||||
/// <param name="id">Id คำลาออก</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200"></response>
|
||||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPut("officer/confirm/{id:length(36)}")]
|
||||
public async Task<ActionResult<ResponseObject>> OfficerConfirm([FromBody] RetirementReasonRequest req, Guid id)
|
||||
{
|
||||
var updated = await _context.RetirementResigns
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (updated == null)
|
||||
return Error(GlobalMessages.RetirementResignNotFound, 404);
|
||||
|
||||
// updated.Status = "APPROVE";
|
||||
updated.OfficerReject = false;
|
||||
updated.OfficerApproveReason = req.Reason;
|
||||
updated.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
updated.LastUpdateUserId = UserId ?? "";
|
||||
updated.LastUpdatedAt = DateTime.Now;
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse("08dbca3a-8b6a-4a4e-8b23-1f62e4f30ef6"),
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ได้รับการอนุมัติจากการเจ้าหน้าที่",
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ได้รับการอนุมัติจากการเจ้าหน้าที่",
|
||||
"",
|
||||
true
|
||||
);
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse("08dbc953-61ac-47eb-82d7-0e72df7669b5"),
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ได้รับการอนุมัติจากการเจ้าหน้าที่",
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ได้รับการอนุมัติจากการเจ้าหน้าที่",
|
||||
"",
|
||||
true
|
||||
);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// การเจ้าหน้าที่ ไม่อนุมัติคำลาออก
|
||||
/// </summary>
|
||||
/// <param name="id">Id คำลาออก</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200"></response>
|
||||
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPut("officer/reject/{id:length(36)}")]
|
||||
public async Task<ActionResult<ResponseObject>> OfficerReject([FromBody] RetirementReasonDateRequest req, Guid id)
|
||||
{
|
||||
var updated = await _context.RetirementResigns
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (updated == null)
|
||||
return Error(GlobalMessages.RetirementResignNotFound, 404);
|
||||
if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90)
|
||||
return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน");
|
||||
// updated.Status = "REJECT";
|
||||
updated.OfficerReject = true;
|
||||
updated.OfficerRejectReason = req.Reason;
|
||||
updated.OfficerRejectDate = req.Date;
|
||||
updated.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
updated.LastUpdateUserId = UserId ?? "";
|
||||
updated.LastUpdatedAt = DateTime.Now;
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse("08dbca3a-8b6a-4a4e-8b23-1f62e4f30ef6"),
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ถูกยับยั้งจากการเจ้าหน้าที่",
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ถูกยับยั้งจากการเจ้าหน้าที่",
|
||||
"",
|
||||
true
|
||||
);
|
||||
await _repositoryNoti.PushNotificationAsync(
|
||||
Guid.Parse("08dbc953-61ac-47eb-82d7-0e72df7669b5"),
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ถูกยับยั้งจากการเจ้าหน้าที่",
|
||||
$"คำขอลาออกขอ {updated.prefix}{updated.firstName} {updated.lastName} ถูกยับยั้งจากการเจ้าหน้าที่",
|
||||
"",
|
||||
true
|
||||
);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Success();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ผู้บังคับบัญชา อนุมัติคำลาออก
|
||||
/// </summary>
|
||||
|
|
@ -930,6 +1032,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
|||
LastUpdatedAt = p.LastUpdatedAt,
|
||||
OrganizationPositionOld = p.RetirementResign.OrganizationPositionOld,
|
||||
CreatedAt = p.CreatedAt,
|
||||
position = p.RetirementResign.position,
|
||||
posTypeName = p.RetirementResign.posTypeName,
|
||||
posLevelName = p.RetirementResign.posLevelName,
|
||||
posMasterNo = p.RetirementResign.posMasterNo,
|
||||
|
||||
Score1 = p.Score1,
|
||||
Score2 = p.Score2,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ namespace BMA.EHR.Retirement.Service.Requests
|
|||
public class RetirementResignDebtRequest
|
||||
{
|
||||
public bool IsNoDebt { get; set; }
|
||||
public List<FormFile>? File { get; set; }
|
||||
// public List<FormFile>? File { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue