Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Suphonchai Phoonsawat 2023-10-11 10:10:01 +07:00
commit ccebc7773f
13 changed files with 17071 additions and 85 deletions

View file

@ -87,7 +87,7 @@ namespace BMA.EHR.Application.Repositories.Commands
Seq = r.Sequence.ToString().ToThaiNumber(), Seq = r.Sequence.ToString().ToThaiNumber(),
CitizenId = r.CitizenId, CitizenId = r.CitizenId,
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Oc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), Oc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
PositionType = p.PositionType == null ? "" : p.PositionType.Name, PositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -141,7 +141,7 @@ namespace BMA.EHR.Application.Repositories.Commands
Seq = r.Sequence.ToString().ToThaiNumber(), Seq = r.Sequence.ToString().ToThaiNumber(),
CitizenId = r.CitizenId, CitizenId = r.CitizenId,
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Oc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), Oc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, PositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, PositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
PositionType = p.PositionType == null ? "" : p.PositionType.Name, PositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -207,7 +207,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name, OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name,
OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(),
OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -271,7 +271,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name, OldPositionType = pf.PositionType == null ? "" : pf.PositionType.Name,
OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(),
OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -336,7 +336,7 @@ namespace BMA.EHR.Application.Repositories.Commands
// OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), // OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalaryDate = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Date.Value.ToThaiShortDate2().ToThaiNumber(), OldSalaryDate = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Date.Value.ToThaiShortDate2().ToThaiNumber(),
NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -401,7 +401,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(), OldPositionNumber = pf.PosNo == null ? "" : pf.PosNo.Name.ToThaiNumber(),
// OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), // OldSalary = pf.Salaries == null || pf.Salaries.Count == 0 ? "" : pf.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -470,7 +470,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(), OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(),
// OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), // OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = p.OrganizationPosition == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -540,7 +540,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(), OldPositionNumber = p.Profile.PosNo == null ? "" : p.Profile.PosNo.Name.ToThaiNumber(),
// OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(), // OldSalary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = p.OrganizationPosition == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -716,7 +716,7 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionType = p.PositionTypeOld, OldPositionType = p.PositionTypeOld,
OldPositionNumber = p.PositionNumberOld.ToThaiNumber(), OldPositionNumber = p.PositionNumberOld.ToThaiNumber(),
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"), NewOc = p.OrganizationPosition == null || p.OrganizationPosition!.Organization == null ? "" : _organizationCommonRepository.GetOrganizationNameFullPath(p.OrganizationPosition!.Organization!.Id, false, false, "/"),
NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name, NewPositionName = p.PositionPath == null ? "" : p.PositionPath!.Name,
NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name, NewPositionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
NewPositionType = p.PositionType == null ? "" : p.PositionType.Name, NewPositionType = p.PositionType == null ? "" : p.PositionType.Name,
@ -1069,7 +1069,7 @@ namespace BMA.EHR.Application.Repositories.Commands
Seq = r.Sequence.ToString().ToThaiNumber(), Seq = r.Sequence.ToString().ToThaiNumber(),
CitizenId = r.CitizenId.ToThaiNumber(), CitizenId = r.CitizenId.ToThaiNumber(),
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Organization = p.OrgEmployee!.OrganizationAgency!.OrganizationOrganization!.Name, Organization = p.OrgEmployee == null || p.OrgEmployee!.OrganizationAgency == null || p.OrgEmployee!.OrganizationAgency!.OrganizationOrganization == null ? "" : p.OrgEmployee!.OrganizationAgency!.OrganizationOrganization!.Name,
PositionName = p.OrgEmployee.PositionEmployeePosition == null ? "" : p.OrgEmployee.PositionEmployeePosition.Name.ToThaiNumber(), PositionName = p.OrgEmployee.PositionEmployeePosition == null ? "" : p.OrgEmployee.PositionEmployeePosition.Name.ToThaiNumber(),
PositionLevel = p.OrgEmployee.OrganizationPositionEmployeeLevels == null ? "" : p.OrgEmployee.OrganizationPositionEmployeeLevels.First().PositionEmployeeLevel.Name.ToThaiNumber(), PositionLevel = p.OrgEmployee.OrganizationPositionEmployeeLevels == null ? "" : p.OrgEmployee.OrganizationPositionEmployeeLevels.First().PositionEmployeeLevel.Name.ToThaiNumber(),
PositionType = p.Profile.PositionType == null ? "" : p.Profile.PositionType.Name.ToThaiNumber(), PositionType = p.Profile.PositionType == null ? "" : p.Profile.PositionType.Name.ToThaiNumber(),

View file

@ -5,6 +5,7 @@ using BMA.EHR.Domain.Models.MetaData;
using BMA.EHR.Domain.Models.Organizations; using BMA.EHR.Domain.Models.Organizations;
using BMA.EHR.Domain.Models.Commands.Core; using BMA.EHR.Domain.Models.Commands.Core;
using BMA.EHR.Domain.Models.HR; using BMA.EHR.Domain.Models.HR;
using BMA.EHR.Domain.Models.OrganizationEmployee;
namespace BMA.EHR.Domain.Models.Placement namespace BMA.EHR.Domain.Models.Placement
{ {
@ -82,6 +83,10 @@ namespace BMA.EHR.Domain.Models.Placement
public CommandType? CommandType { get; set; } public CommandType? CommandType { get; set; }
[Comment("ดำรงตำแหน่งในระดับปัจจุบันเมื่อ")] [Comment("ดำรงตำแหน่งในระดับปัจจุบันเมื่อ")]
public DateTime? PositionDate { get; set; } public DateTime? PositionDate { get; set; }
public OrgEmployee? OrgEmployee { get; set; }
public PositionEmployeeStatus? PositionEmployeeStatus { get; set; }
public PositionEmployeeLine? PositionEmployeeLine { get; set; }
public PositionEmployeePosition? PositionEmployeePosition { get; set; }
public virtual List<PlacementAppointmentDoc> PlacementAppointmentDocs { get; set; } = new List<PlacementAppointmentDoc>(); public virtual List<PlacementAppointmentDoc> PlacementAppointmentDocs { get; set; } = new List<PlacementAppointmentDoc>();
} }
} }

View file

@ -0,0 +1,143 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class updatetablePlacementAppointmentaddemployee : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "OrgEmployeeId",
table: "PlacementAppointments",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "PositionEmployeeLineId",
table: "PlacementAppointments",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "PositionEmployeePositionId",
table: "PlacementAppointments",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "PositionEmployeeStatusId",
table: "PlacementAppointments",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.CreateIndex(
name: "IX_PlacementAppointments_OrgEmployeeId",
table: "PlacementAppointments",
column: "OrgEmployeeId");
migrationBuilder.CreateIndex(
name: "IX_PlacementAppointments_PositionEmployeeLineId",
table: "PlacementAppointments",
column: "PositionEmployeeLineId");
migrationBuilder.CreateIndex(
name: "IX_PlacementAppointments_PositionEmployeePositionId",
table: "PlacementAppointments",
column: "PositionEmployeePositionId");
migrationBuilder.CreateIndex(
name: "IX_PlacementAppointments_PositionEmployeeStatusId",
table: "PlacementAppointments",
column: "PositionEmployeeStatusId");
migrationBuilder.AddForeignKey(
name: "FK_PlacementAppointments_OrganizationEmployees_OrgEmployeeId",
table: "PlacementAppointments",
column: "OrgEmployeeId",
principalTable: "OrganizationEmployees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_PlacementAppointments_PositionEmployeeLines_PositionEmployee~",
table: "PlacementAppointments",
column: "PositionEmployeeLineId",
principalTable: "PositionEmployeeLines",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_PlacementAppointments_PositionEmployeePositions_PositionEmpl~",
table: "PlacementAppointments",
column: "PositionEmployeePositionId",
principalTable: "PositionEmployeePositions",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_PlacementAppointments_PositionEmployeeStatuses_PositionEmplo~",
table: "PlacementAppointments",
column: "PositionEmployeeStatusId",
principalTable: "PositionEmployeeStatuses",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_PlacementAppointments_OrganizationEmployees_OrgEmployeeId",
table: "PlacementAppointments");
migrationBuilder.DropForeignKey(
name: "FK_PlacementAppointments_PositionEmployeeLines_PositionEmployee~",
table: "PlacementAppointments");
migrationBuilder.DropForeignKey(
name: "FK_PlacementAppointments_PositionEmployeePositions_PositionEmpl~",
table: "PlacementAppointments");
migrationBuilder.DropForeignKey(
name: "FK_PlacementAppointments_PositionEmployeeStatuses_PositionEmplo~",
table: "PlacementAppointments");
migrationBuilder.DropIndex(
name: "IX_PlacementAppointments_OrgEmployeeId",
table: "PlacementAppointments");
migrationBuilder.DropIndex(
name: "IX_PlacementAppointments_PositionEmployeeLineId",
table: "PlacementAppointments");
migrationBuilder.DropIndex(
name: "IX_PlacementAppointments_PositionEmployeePositionId",
table: "PlacementAppointments");
migrationBuilder.DropIndex(
name: "IX_PlacementAppointments_PositionEmployeeStatusId",
table: "PlacementAppointments");
migrationBuilder.DropColumn(
name: "OrgEmployeeId",
table: "PlacementAppointments");
migrationBuilder.DropColumn(
name: "PositionEmployeeLineId",
table: "PlacementAppointments");
migrationBuilder.DropColumn(
name: "PositionEmployeePositionId",
table: "PlacementAppointments");
migrationBuilder.DropColumn(
name: "PositionEmployeeStatusId",
table: "PlacementAppointments");
}
}
}

View file

@ -10819,6 +10819,9 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("varchar(100)") .HasColumnType("varchar(100)")
.HasComment("สัญชาติ"); .HasComment("สัญชาติ");
b.Property<Guid?>("OrgEmployeeId")
.HasColumnType("char(36)");
b.Property<Guid?>("OrganizationPositionId") b.Property<Guid?>("OrganizationPositionId")
.HasColumnType("char(36)"); .HasColumnType("char(36)");
@ -10830,6 +10833,15 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("datetime(6)") .HasColumnType("datetime(6)")
.HasComment("ดำรงตำแหน่งในระดับปัจจุบันเมื่อ"); .HasComment("ดำรงตำแหน่งในระดับปัจจุบันเมื่อ");
b.Property<Guid?>("PositionEmployeeLineId")
.HasColumnType("char(36)");
b.Property<Guid?>("PositionEmployeePositionId")
.HasColumnType("char(36)");
b.Property<Guid?>("PositionEmployeeStatusId")
.HasColumnType("char(36)");
b.Property<Guid?>("PositionLevelId") b.Property<Guid?>("PositionLevelId")
.HasColumnType("char(36)"); .HasColumnType("char(36)");
@ -10903,8 +10915,16 @@ namespace BMA.EHR.Infrastructure.Migrations
b.HasIndex("GenderId"); b.HasIndex("GenderId");
b.HasIndex("OrgEmployeeId");
b.HasIndex("OrganizationPositionId"); b.HasIndex("OrganizationPositionId");
b.HasIndex("PositionEmployeeLineId");
b.HasIndex("PositionEmployeePositionId");
b.HasIndex("PositionEmployeeStatusId");
b.HasIndex("PositionLevelId"); b.HasIndex("PositionLevelId");
b.HasIndex("PositionLineId"); b.HasIndex("PositionLineId");
@ -15589,10 +15609,26 @@ namespace BMA.EHR.Infrastructure.Migrations
.WithMany() .WithMany()
.HasForeignKey("GenderId"); .HasForeignKey("GenderId");
b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrgEmployee")
.WithMany()
.HasForeignKey("OrgEmployeeId");
b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition") b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition")
.WithMany() .WithMany()
.HasForeignKey("OrganizationPositionId"); .HasForeignKey("OrganizationPositionId");
b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", "PositionEmployeeLine")
.WithMany()
.HasForeignKey("PositionEmployeeLineId");
b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", "PositionEmployeePosition")
.WithMany()
.HasForeignKey("PositionEmployeePositionId");
b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeStatus", "PositionEmployeeStatus")
.WithMany()
.HasForeignKey("PositionEmployeeStatusId");
b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel")
.WithMany() .WithMany()
.HasForeignKey("PositionLevelId"); .HasForeignKey("PositionLevelId");
@ -15643,8 +15679,16 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Navigation("Gender"); b.Navigation("Gender");
b.Navigation("OrgEmployee");
b.Navigation("OrganizationPosition"); b.Navigation("OrganizationPosition");
b.Navigation("PositionEmployeeLine");
b.Navigation("PositionEmployeePosition");
b.Navigation("PositionEmployeeStatus");
b.Navigation("PositionLevel"); b.Navigation("PositionLevel");
b.Navigation("PositionLine"); b.Navigation("PositionLine");

View file

@ -78,22 +78,32 @@ namespace BMA.EHR.Placement.Service.Controllers
p.Amount, p.Amount,
p.RecruitDate, p.RecruitDate,
PositionNumber = p.PositionNumber == null ? null : p.PositionNumber.Name, // PositionNumber = p.PositionNumber == null ? null : p.PositionNumber.Name,
PositionPath = p.PositionPath == null ? null : p.PositionPath.Name, // PositionPath = p.PositionPath == null ? null : p.PositionPath.Name,
PositionPathSide = p.PositionPathSide == null ? null : p.PositionPathSide.Name, // PositionPathSide = p.PositionPathSide == null ? null : p.PositionPathSide.Name,
PositionType = p.PositionType == null ? null : p.PositionType.Name, // PositionType = p.PositionType == null ? null : p.PositionType.Name,
PositionLine = p.PositionLine == null ? null : p.PositionLine.Name, // PositionLine = p.PositionLine == null ? null : p.PositionLine.Name,
PositionLevel = p.PositionLevel == null ? null : p.PositionLevel.Name, // PositionLevel = p.PositionLevel == null ? null : p.PositionLevel.Name,
PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id, // PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id,
PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id, // PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id,
PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id, // PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id,
PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, // PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id,
PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, // PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id,
PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, // PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id,
OrgEmployeeId = p.OrgEmployee == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrgEmployee.Id,
PositionEmployeeStatusId = p.PositionEmployeeStatus == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeStatus.Id,
PositionEmployeeLineId = p.PositionEmployeeLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeLine.Id,
PositionEmployeePositionId = p.PositionEmployeePosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeePosition.Id,
PositionEmployeeStatus = p.PositionEmployeeStatus == null ? null : p.PositionEmployeeStatus.Name,
PositionEmployeeLine = p.PositionEmployeeLine == null ? null : p.PositionEmployeeLine.Name,
PositionEmployeePosition = p.PositionEmployeePosition == null ? null : p.PositionEmployeePosition.Name,
// OrganizationShortName = x.OrganizationShortName == null ? null : x.OrganizationShortName.Name,
OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id, OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id,
OrganizationName = p.OrganizationPosition == null ? null : (p.OrganizationPosition.Organization == null ? null : (p.OrganizationPosition.Organization.OrganizationOrganization == null ? null : p.OrganizationPosition.Organization.OrganizationOrganization.Name)),//// // OrganizationName = p.OrganizationPosition == null ? null : (p.OrganizationPosition.Organization == null ? null : (p.OrganizationPosition.Organization.OrganizationOrganization == null ? null : p.OrganizationPosition.Organization.OrganizationOrganization.Name)),////
OrganizationShortName = p.OrganizationPosition == null ? null : (p.OrganizationPosition.Organization == null ? null : (p.OrganizationPosition.Organization.OrganizationShortName == null ? null : p.OrganizationPosition.Organization.OrganizationShortName.Name)),//// OrganizationName = p.OrgEmployee == null ? null : (p.OrgEmployee.OrganizationOrganization == null ? null : p.OrgEmployee.OrganizationOrganization.Name),
OrganizationShortName = p.OrgEmployee == null ? null : (p.OrgEmployee.OrganizationShortName == null ? null : p.OrgEmployee.OrganizationShortName.Name),
p.IsActive, p.IsActive,
p.PositionDate, p.PositionDate,
p.Reason, p.Reason,
@ -148,12 +158,13 @@ namespace BMA.EHR.Placement.Service.Controllers
p.Status, p.Status,
p.Amount, p.Amount,
p.RecruitDate, p.RecruitDate,
PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id, OrgEmployeeId = p.OrgEmployee == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrgEmployee.Id,
PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id, PositionEmployeeStatusId = p.PositionEmployeeStatus == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeStatus.Id,
PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id, PositionEmployeeLineId = p.PositionEmployeeLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeeLine.Id,
PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id, PositionEmployeePositionId = p.PositionEmployeePosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionEmployeePosition.Id,
PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id, // PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id,
PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id, // PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id,
// PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id,
OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id, OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id,
p.CreatedAt, p.CreatedAt,
p.Reason, p.Reason,
@ -202,12 +213,13 @@ namespace BMA.EHR.Placement.Service.Controllers
data.Status, data.Status,
data.Amount, data.Amount,
data.RecruitDate, data.RecruitDate,
data.PosNoId, // data.PosNoId,
data.PositionId, // data.PositionId,
data.PositionPathSideId, // data.PositionPathSideId,
data.PositionTypeId, data.OrgEmployeeId,
data.PositionLineId, data.PositionEmployeeStatusId,
data.PositionLevelId, data.PositionEmployeeLineId,
data.PositionEmployeePositionId,
data.OrganizationPositionId, data.OrganizationPositionId,
data.CreatedAt, data.CreatedAt,
data.Reason, data.Reason,
@ -325,68 +337,79 @@ namespace BMA.EHR.Placement.Service.Controllers
/// <response code="401">ไม่ได้ Login เข้าระบบ</response> /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response> /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("position/{id:length(36)}")] [HttpPut("position/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> UpdatePositionPlacementAppointment([FromBody] PersonSelectPositionAppointmentRequest req, Guid id) public async Task<ActionResult<ResponseObject>> UpdatePositionPlacementAppointment([FromBody] PersonSelectPositionAppointmentEmployeeRequest req, Guid id)
{ {
var uppdated = await _context.PlacementAppointments var uppdated = await _context.PlacementAppointments
.Where(x => x.Profile.ProfileType == "employee" && x.Profile.EmployeeClass == "perm") .Where(x => x.Profile.ProfileType == "employee" && x.Profile.EmployeeClass == "perm")
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null) if (uppdated == null)
return Error(GlobalMessages.PlacementAppointmentNotFound, 404); return Error(GlobalMessages.PlacementAppointmentNotFound, 404);
if (req.PosNoId != null) // if (req.PosNoId != null)
{ // {
var save_posNo = await _context.PositionNumbers.FindAsync(req.PosNoId); // var save_posNo = await _context.PositionNumbers.FindAsync(req.PosNoId);
if (save_posNo == null) // if (save_posNo == null)
return Error(GlobalMessages.PositionPosNoNotFound, 404); // return Error(GlobalMessages.PositionPosNoNotFound, 404);
uppdated.PositionNumber = save_posNo; // uppdated.PositionNumber = save_posNo;
var save_orgPosition = await _context.OrganizationPositions.FirstOrDefaultAsync(x => x.PositionNumber == save_posNo); // var save_orgPosition = await _context.OrganizationPositions.FirstOrDefaultAsync(x => x.PositionNumber == save_posNo);
if (save_orgPosition == null) // if (save_orgPosition == null)
return Error(GlobalMessages.PositionPosNoNotFound, 404); // return Error(GlobalMessages.PositionPosNoNotFound, 404);
uppdated.OrganizationPosition = save_orgPosition; // uppdated.OrganizationPosition = save_orgPosition;
} // }
if (req.PositionId != null) // if (req.PositionId != null)
{ // {
var save = await _context.PositionPaths.FindAsync(req.PositionId); // var save = await _context.PositionPaths.FindAsync(req.PositionId);
if (save == null) // if (save == null)
return Error(GlobalMessages.PositionPathNotFound, 404); // return Error(GlobalMessages.PositionPathNotFound, 404);
uppdated.PositionPath = save; // uppdated.PositionPath = save;
} // }
if (req.PositionLevelId != null) // if (req.PositionLevelId != null)
{ // {
var save = await _context.PositionLevels.FindAsync(req.PositionLevelId); // var save = await _context.PositionLevels.FindAsync(req.PositionLevelId);
if (save == null) // if (save == null)
return Error(GlobalMessages.PositionLevelNotFound, 404); // return Error(GlobalMessages.PositionLevelNotFound, 404);
uppdated.PositionLevel = save; // uppdated.PositionLevel = save;
} // }
if (req.PositionLineId != null) // if (req.PositionLineId != null)
{ // {
var save = await _context.PositionLines.FindAsync(req.PositionLineId); // var save = await _context.PositionLines.FindAsync(req.PositionLineId);
if (save == null) // if (save == null)
return Error(GlobalMessages.PositionLineNotFound, 404); // return Error(GlobalMessages.PositionLineNotFound, 404);
uppdated.PositionLine = save; // uppdated.PositionLine = save;
} // }
if (req.PositionPathSideId != null) // if (req.PositionPathSideId != null)
{ // {
var save = await _context.PositionPathSides.FindAsync(req.PositionPathSideId); // var save = await _context.PositionPathSides.FindAsync(req.PositionPathSideId);
if (save == null) // if (save == null)
return Error(GlobalMessages.PositionPathSideNotFound, 404); // return Error(GlobalMessages.PositionPathSideNotFound, 404);
uppdated.PositionPathSide = save; // uppdated.PositionPathSide = save;
} // }
if (req.PositionTypeId != null) // if (req.PositionTypeId != null)
{ // {
var save = await _context.PositionTypes.FindAsync(req.PositionTypeId); // var save = await _context.PositionTypes.FindAsync(req.PositionTypeId);
if (save == null) // if (save == null)
return Error(GlobalMessages.PositionTypeNotFound, 404); // return Error(GlobalMessages.PositionTypeNotFound, 404);
uppdated.PositionType = save; // uppdated.PositionType = save;
} // }
var organizationEmployee = await _context.OrganizationEmployees
.Include(x => x.PositionEmployeeStatus)
.Include(x => x.PositionEmployeeLine)
.Include(x => x.PositionEmployeePosition)
.FirstOrDefaultAsync(x => x.Id == req.OrganizationEmployeeId);
if (organizationEmployee == null)
return Error(GlobalMessages.OrganizationEmployeeNotFound, 404);
uppdated.Amount = req.Amount; uppdated.OrgEmployee = organizationEmployee;
uppdated.RecruitDate = req.RecruitDate; uppdated.PositionEmployeeStatus = organizationEmployee.PositionEmployeeStatus;
uppdated.PositionEmployeeLine = organizationEmployee.PositionEmployeeLine;
uppdated.PositionEmployeePosition = organizationEmployee.PositionEmployeePosition;
// uppdated.Amount = req.Amount;
// uppdated.RecruitDate = req.RecruitDate;
uppdated.Status = "PENDING"; uppdated.Status = "PENDING";
uppdated.LastUpdateFullName = FullName ?? "System Administrator"; uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? ""; uppdated.LastUpdateUserId = UserId ?? "";

View file

@ -0,0 +1,10 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Placement.Service.Requests
{
public class PersonSelectPositionAppointmentEmployeeRequest
{
public Guid? OrganizationEmployeeId { get; set; }
}
}

View file

@ -280,6 +280,9 @@
<None Update="Reports\32-ประกาศเกษียณลูกจ้างประจำ-3.trdp"> <None Update="Reports\32-ประกาศเกษียณลูกจ้างประจำ-3.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Update="Reports\32-ประกาศเกษียณลูกจ้างประจำ-4 (เพิ่มเติม).trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Reports\33-แบบฟอร์มหนังสือขอลาออกจากราชการ-1.trdp"> <None Update="Reports\33-แบบฟอร์มหนังสือขอลาออกจากราชการ-1.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>