report 1-4 เำิม่หมายเหตุแนวนอน

This commit is contained in:
Kittapath 2023-10-08 12:41:53 +07:00
parent 5530c2f9e4
commit 2da120f958
32 changed files with 51300 additions and 13 deletions

View file

@ -846,7 +846,8 @@ namespace BMA.EHR.Application.Repositories.Commands
ActiveDate = p.ActiveDate == null ? "" : p.ActiveDate.Value.ToThaiShortDate2().ToThaiNumber(),
Salary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
//Salary = p.Profile.Salaries == null || p.Profile.Salaries.Count == 0 ? "" : p.Profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
Remark = p.Reason ?? ""
Remark = p.Reason ?? "",
RemarkHorizontal = p.RemarkHorizontal,
})
.ToList();

View file

@ -6705,6 +6705,8 @@ namespace BMA.EHR.Application.Repositories.Commands
SalaryAmount = placementProfile.Amount != null && placementProfile.Amount != 0 ? placementProfile.Amount.Value : SalaryAmount,
PositionSalaryAmount = placementProfile.PositionSalaryAmount != null && placementProfile.PositionSalaryAmount != 0 ? placementProfile.PositionSalaryAmount.Value : PositionSalaryAmount,
MonthSalaryAmount = placementProfile.MouthSalaryAmount != null && placementProfile.MouthSalaryAmount != 0 ? placementProfile.MouthSalaryAmount.Value : MonthSalaryAmount,
RemarkVertical = placementProfile.RemarkVertical == null ? "โดยมีเงื่อนไขว่าต้องปฏิบัติงานให้กรุงเทพมหานครเป็นระยะเวลาไม่น้อยกว่า ๕ ปี นับแต่วันที่ได้รับการบรรจุและแต่งตั้ง โดยห้ามโอนไปหน่วยงานหรือส่วนราชการอื่น เว้นเเต่ลาออกจากราชการ" : placementProfile.RemarkVertical,
RemarkHorizontal = placementProfile.RemarkHorizontal,
};
}
@ -6756,6 +6758,9 @@ namespace BMA.EHR.Application.Repositories.Commands
placementProfile.PositionSalaryAmount = req.PositionSalaryAmount;
placementProfile.MouthSalaryAmount = req.MonthSalaryAmount;
placementProfile.RemarkVertical = req.RemarkVertical;
placementProfile.RemarkHorizontal = req.RemarkHorizontal;
await _dbContext.SaveChangesAsync();
}
catch

View file

@ -0,0 +1,112 @@
using System.Reflection.Metadata;
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Application.Responses;
using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.HR;
using BMA.EHR.Domain.Models.Organizations;
using BMA.EHR.Domain.Models.Retirement;
using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
namespace BMA.EHR.Application.Repositories.Reports
{
public class CandidateReportRepository
{
#region " Fields "
private readonly IApplicationDBContext _dbContext;
private readonly IWebHostEnvironment _hostingEnvironment;
private readonly MinIOService _documentService;
private readonly OrganizationCommonRepository _organizationCommonRepository;
#endregion
#region " Constructor and Destructor "
public CandidateReportRepository(IApplicationDBContext dbContext,
MinIOService documentService,
OrganizationCommonRepository organizationCommonRepository,
IWebHostEnvironment hostEnvironment)
{
_dbContext = dbContext;
_hostingEnvironment = hostEnvironment;
_organizationCommonRepository = organizationCommonRepository;
_documentService = documentService;
}
#endregion
#region " Methods "
#region
public async Task<dynamic> GetExamCandidateAsync(Guid id)
{
var data = await _dbContext.Set<RetirementDeceased>().AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
ProfileId = p.Profile.Id,
Prefix = p.Profile.Prefix == null ? null : p.Profile.Prefix.Name,
PrefixId = p.Profile.Prefix == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.Prefix.Id,
p.Profile.FirstName,
p.Profile.LastName,
Position = p.Profile.Position == null ? null : p.Profile.Position.Name,
PositionId = p.Profile.Position == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.Position.Id,
PositionType = p.Profile.PositionType == null ? null : p.Profile.PositionType.Name,
PositionTypeId = p.Profile.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.PositionType.Id,
p.Profile.PositionLine,
p.Profile.PositionLineId,
PositionLevel = p.Profile.PositionLevel == null ? null : p.Profile.PositionLevel.Name,
PositionLevelId = p.Profile.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.PositionLevel.Id,
p.Profile.PositionExecutive,
p.Profile.PositionExecutiveId,
Organization = p.Profile.Oc,
OrganizationId = p.Profile.OcId,
p.Number,
p.Date,
p.Location,
p.Reason,
})
.FirstOrDefaultAsync();
if (data == null)
throw new Exception(GlobalMessages.CandidateNotFound);
string Prefix = string.IsNullOrEmpty(data.Prefix.ToString()) ? string.Empty : data.Prefix.ToString();
string FirstName = string.IsNullOrEmpty(data.FirstName.ToString()) ? string.Empty : data.FirstName.ToString();
string LastName = string.IsNullOrEmpty(data.LastName.ToString()) ? string.Empty : data.LastName.ToString();
string FullName = $"{Prefix} {FirstName} {LastName}";
string Date = string.IsNullOrEmpty(data.Date.ToString()) ? "วันที่ - เดือน - พ.ศ. -" : DateTime.Parse(data.Date.ToString()).ToThaiFullDate().ToString().ToThaiNumber();
string CurrentDate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).ToThaiFullDate().ToString().ToThaiNumber();
return new
{
FullName,
Date,
CurrentDate,
data.Position,
data.PositionExecutive,
data.PositionType,
data.PositionLine,
data.PositionLevel,
data.Organization,
data.PositionId,
data.PositionExecutiveId,
data.PositionTypeId,
data.PositionLineId,
data.PositionLevelId,
data.OrganizationId,
data.Number,
data.Location,
data.Reason,
};
}
#endregion
#endregion
}
}

View file

@ -7,5 +7,7 @@
public double PositionSalaryAmount { get; set; } = 0;
public double MonthSalaryAmount { get; set; } = 0;
public string? RemarkVertical { get; set; }
public string? RemarkHorizontal { get; set; }
}
}

View file

@ -7,5 +7,7 @@
public double PositionSalaryAmount { get; set; } = 0;
public double MonthSalaryAmount { get; set; } = 0;
public string? RemarkVertical { get; set; }
public string? RemarkHorizontal { get; set; }
}
}

View file

@ -23,5 +23,6 @@
public string ActiveDate { get; set; } = string.Empty;
public string Remark { get; set; } = string.Empty;
public string? RemarkHorizontal { get; set; } = string.Empty;
}
}

View file

@ -5,6 +5,7 @@ using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.MetaData;
using BMA.EHR.Domain.Models.HR;
using BMA.EHR.Domain.Models.Documents;
using BMA.EHR.Domain.Models.Organizations;
namespace BMA.EHR.Domain.Models.Insignias
{
@ -46,13 +47,13 @@ namespace BMA.EHR.Domain.Models.Insignias
[Comment("หลักฐานรับเครื่องราชฯ")]
public Document? DocReceiveInsignia { get; set; }
[Comment("หน่วยงานรับเครื่องราชฯ")]
public OrganizationOrganization? OrgReceiveInsignia { get; set; }
public OrganizationEntity? OrgReceiveInsignia { get; set; }
[Comment("วันที่คืนเครื่องราชฯ")]
public DateTime? DateReturnInsignia { get; set; }
[Comment("หลักฐานคืนเครื่องราชฯ")]
public Document? DocReturnInsignia { get; set; }
[Comment("หน่วยงานคืนเครื่องราชฯ")]
public OrganizationOrganization? OrgReturnInsignia { get; set; }
public OrganizationEntity? OrgReturnInsignia { get; set; }
public Profile Profile { get; set; }
public Insignia RequestInsignia { get; set; }
public InsigniaNote InsigniaNote { get; set; }

View file

@ -241,8 +241,15 @@ namespace BMA.EHR.Domain.Models.Placement
[Comment("ข้อมูลตำแหน่ง Draft")]
public bool? Draft { get; set; }
[Comment("หมายเหตุแนวตั้ง")]
public string? RemarkVertical { get; set; }
[Comment("หมายเหตุแนวนอน")]
public string? RemarkHorizontal { get; set; }
[Comment("Id รูปโปรไฟล์")]
public virtual Document? ProfileImg { get; set; }
public virtual List<PlacementProfileDoc> PlacementProfileDocs { get; set; } = new List<PlacementProfileDoc>();
public virtual List<PlacementCertificate> PlacementCertificates { get; set; } = new List<PlacementCertificate>();
public virtual List<PlacementEducation> PlacementEducations { get; set; } = new List<PlacementEducation>();
}

View file

@ -0,0 +1,15 @@
using BMA.EHR.Domain.Models.Base;
using BMA.EHR.Domain.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Domain.Models.Placement
{
public class PlacementProfileDoc : EntityBase
{
[Required, Comment("อ้างอิงรหัสเอกสาร")]
public Document Document { get; set; }
[Required, Comment("อ้างอิงรับโอน")]
public virtual PlacementProfile PlacementProfile { get; set; }
}
}

View file

@ -9,6 +9,8 @@ namespace BMA.EHR.Domain.Models.Retirement
{
[Comment("ครั้งที่")]
public int Round { get; set; }
[Comment("ประกาศ ณ วันที่")]
public DateTime? SignDate { get; set; }
[Comment("ประเภทคำสั่ง")]
public string? TypeReport { get; set; } = string.Empty;
[Comment("ปีงบประมาณ")]

View file

@ -9,6 +9,8 @@ namespace BMA.EHR.Domain.Models.Retirement
{
[Comment("ครั้งที่")]
public int Round { get; set; }
[Comment("ประกาศ ณ วันที่")]
public DateTime? SignDate { get; set; }
[Comment("ประเภทคำสั่ง")]
public string? TypeReport { get; set; } = string.Empty;
[Comment("ปีงบประมาณ")]

View file

@ -45,5 +45,30 @@ namespace BMA.EHR.Domain.Models.Retirement
public string? Suggestion { get; set; }
[Comment("กําหนดวันนัดหมายเพื่อทําการสัมภาษณ์การลาออก")]
public DateTime? AppointDate { get; set; }
[Comment("คะแนนข้อ 1")]
public int? Score1 { get; set; }
[Comment("คะแนนข้อ 2")]
public int? Score2 { get; set; }
[Comment("คะแนนข้อ 3")]
public int? Score3 { get; set; }
[Comment("คะแนนข้อ 4")]
public int? Score4 { get; set; }
[Comment("คะแนนข้อ 5")]
public int? Score5 { get; set; }
[Comment("คะแนนข้อ 6")]
public int? Score6 { get; set; }
[Comment("คะแนนข้อ 7")]
public int? Score7 { get; set; }
[Comment("คะแนนข้อ 8")]
public int? Score8 { get; set; }
[Comment("คะแนนข้อ 9")]
public int? Score9 { get; set; }
[Comment("คะแนนข้อ 10")]
public int? Score10 { get; set; }
[Comment("คะแนนรวม")]
public int? ScoreTotal { get; set; }
[Comment("ความคิดเห็น")]
public string? Comment { get; set; }
}
}

View file

@ -0,0 +1,82 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Documents;
using BMA.EHR.Domain.Models.MetaData;
namespace BMA.EHR.Domain.Models.Retirement
{
public class RetirementQuestionnaireQuestion : EntityBase
{
[Comment("คำถามข้อที่ 1")]
public string? Question1Desc { get; set; }
[Comment("คำตอบข้อที่ 1")]
public string? Question1Score { get; set; }
[Comment("กรอกคะแนน 1")]
public string? Question1Answer { get; set; }
[Comment("คำถามข้อที่ 2")]
public string? Question2Desc { get; set; }
[Comment("คำตอบข้อที่ 2")]
public string? Question2Score { get; set; }
[Comment("กรอกคะแนน 2")]
public string? Question2Answer { get; set; }
[Comment("คำถามข้อที่ 3")]
public string? Question3Desc { get; set; }
[Comment("คำตอบข้อที่ 3")]
public string? Question3Score { get; set; }
[Comment("กรอกคะแนน 3")]
public string? Question3Answer { get; set; }
[Comment("คำถามข้อที่ 4")]
public string? Question4Desc { get; set; }
[Comment("คำตอบข้อที่ 4")]
public string? Question4Score { get; set; }
[Comment("กรอกคะแนน 4")]
public string? Question4Answer { get; set; }
[Comment("คำถามข้อที่ 5")]
public string? Question5Desc { get; set; }
[Comment("คำตอบข้อที่ 5")]
public string? Question5Score { get; set; }
[Comment("กรอกคะแนน 5")]
public string? Question5Answer { get; set; }
[Comment("คำถามข้อที่ 6")]
public string? Question6Desc { get; set; }
[Comment("คำตอบข้อที่ 6")]
public string? Question6Score { get; set; }
[Comment("กรอกคะแนน 6")]
public string? Question6Answer { get; set; }
[Comment("คำถามข้อที่ 7")]
public string? Question7Desc { get; set; }
[Comment("คำตอบข้อที่ 7")]
public string? Question7Score { get; set; }
[Comment("กรอกคะแนน 7")]
public string? Question7Answer { get; set; }
[Comment("คำถามข้อที่ 8")]
public string? Question8Desc { get; set; }
[Comment("คำตอบข้อที่ 8")]
public string? Question8Score { get; set; }
[Comment("กรอกคะแนน 8")]
public string? Question8Answer { get; set; }
[Comment("คำถามข้อที่ 9")]
public string? Question9Desc { get; set; }
[Comment("คำตอบข้อที่ 9")]
public string? Question9Score { get; set; }
[Comment("กรอกคะแนน 9")]
public string? Question9Answer { get; set; }
[Comment("คำถามข้อที่ 10")]
public string? Question10Desc { get; set; }
[Comment("คำตอบข้อที่ 10")]
public string? Question10Score { get; set; }
[Comment("กรอกคะแนน 10")]
public string? Question10Answer { get; set; }
}
}

View file

@ -55,6 +55,8 @@ namespace BMA.EHR.Domain.Models.Retirement
public string? CommanderRejectReason { get; set; }
[Comment("วันที่ยับยั้งผู้บังคับบัญชา")]
public DateTime? CommanderRejectDate { get; set; }
[Comment("หมายเหตุแนวนอน")]
public string? RemarkHorizontal { get; set; }
public virtual List<RetirementResignDoc> RetirementResignDocs { get; set; } = new List<RetirementResignDoc>();
}

View file

@ -107,6 +107,7 @@
public static readonly string RetirementOtherNotFound = "ไม่พบข้อมูลอื่นๆ";
public static readonly string RetirementOutNotFound = "ไม่พบข้อมูลให้ออก";
public static readonly string RetirementQuestionNotFound = "ไม่พบข้อมูลแบบสอบถาม";
public static readonly string RetirementQuestionnaireQuestionNotFound = "ไม่พบข้อมูลคำถาม";
#endregion
#region " Command "
@ -117,6 +118,11 @@
public static readonly string MethodForCommandTypeNotImplement = "Method for this command type not implement!";
#endregion
#region " Command "
public static readonly string CandidateNotFound = "ไม่พบรายการใบสมัครสอบคัดเลือก";
#endregion
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,170 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class addtableplacementProfileDocs : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_InsigniaNoteProfiles_OrganizationOrganizations_OrgReceiveIns~",
table: "InsigniaNoteProfiles");
migrationBuilder.DropForeignKey(
name: "FK_InsigniaNoteProfiles_OrganizationOrganizations_OrgReturnInsi~",
table: "InsigniaNoteProfiles");
migrationBuilder.AddColumn<string>(
name: "RemarkHorizontal",
table: "RetirementResigns",
type: "longtext",
nullable: true,
comment: "หมายเหตุแนวนอน")
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<DateTime>(
name: "SignDate",
table: "RetirementPeriods",
type: "datetime(6)",
nullable: true,
comment: "ประกาศ ณ วันที่");
migrationBuilder.AddColumn<DateTime>(
name: "SignDate",
table: "RetirementPeriodHistorys",
type: "datetime(6)",
nullable: true,
comment: "ประกาศ ณ วันที่");
migrationBuilder.AddColumn<string>(
name: "RemarkHorizontal",
table: "PlacementProfiles",
type: "longtext",
nullable: true,
comment: "หมายเหตุแนวนอน")
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<string>(
name: "RemarkVertical",
table: "PlacementProfiles",
type: "longtext",
nullable: true,
comment: "หมายเหตุแนวตั้ง")
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "PlacementProfileDocs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
.Annotation("MySql:CharSet", "utf8mb4"),
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
.Annotation("MySql:CharSet", "utf8mb4"),
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
.Annotation("MySql:CharSet", "utf8mb4"),
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
.Annotation("MySql:CharSet", "utf8mb4"),
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PlacementProfileId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_PlacementProfileDocs", x => x.Id);
table.ForeignKey(
name: "FK_PlacementProfileDocs_Documents_DocumentId",
column: x => x.DocumentId,
principalTable: "Documents",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_PlacementProfileDocs_PlacementProfiles_PlacementProfileId",
column: x => x.PlacementProfileId,
principalTable: "PlacementProfiles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_PlacementProfileDocs_DocumentId",
table: "PlacementProfileDocs",
column: "DocumentId");
migrationBuilder.CreateIndex(
name: "IX_PlacementProfileDocs_PlacementProfileId",
table: "PlacementProfileDocs",
column: "PlacementProfileId");
migrationBuilder.AddForeignKey(
name: "FK_InsigniaNoteProfiles_Organizations_OrgReceiveInsigniaId",
table: "InsigniaNoteProfiles",
column: "OrgReceiveInsigniaId",
principalTable: "Organizations",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_InsigniaNoteProfiles_Organizations_OrgReturnInsigniaId",
table: "InsigniaNoteProfiles",
column: "OrgReturnInsigniaId",
principalTable: "Organizations",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_InsigniaNoteProfiles_Organizations_OrgReceiveInsigniaId",
table: "InsigniaNoteProfiles");
migrationBuilder.DropForeignKey(
name: "FK_InsigniaNoteProfiles_Organizations_OrgReturnInsigniaId",
table: "InsigniaNoteProfiles");
migrationBuilder.DropTable(
name: "PlacementProfileDocs");
migrationBuilder.DropColumn(
name: "RemarkHorizontal",
table: "RetirementResigns");
migrationBuilder.DropColumn(
name: "SignDate",
table: "RetirementPeriods");
migrationBuilder.DropColumn(
name: "SignDate",
table: "RetirementPeriodHistorys");
migrationBuilder.DropColumn(
name: "RemarkHorizontal",
table: "PlacementProfiles");
migrationBuilder.DropColumn(
name: "RemarkVertical",
table: "PlacementProfiles");
migrationBuilder.AddForeignKey(
name: "FK_InsigniaNoteProfiles_OrganizationOrganizations_OrgReceiveIns~",
table: "InsigniaNoteProfiles",
column: "OrgReceiveInsigniaId",
principalTable: "OrganizationOrganizations",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_InsigniaNoteProfiles_OrganizationOrganizations_OrgReturnInsi~",
table: "InsigniaNoteProfiles",
column: "OrgReturnInsigniaId",
principalTable: "OrganizationOrganizations",
principalColumn: "Id");
}
}
}

View file

@ -0,0 +1,104 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class addtableRetirementQuestionnaireQuestion : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "RetirementQuestionnaireQuestions",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
.Annotation("MySql:CharSet", "utf8mb4"),
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
.Annotation("MySql:CharSet", "utf8mb4"),
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
.Annotation("MySql:CharSet", "utf8mb4"),
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
.Annotation("MySql:CharSet", "utf8mb4"),
Question1Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 1")
.Annotation("MySql:CharSet", "utf8mb4"),
Question1Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 1")
.Annotation("MySql:CharSet", "utf8mb4"),
Question1Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 1")
.Annotation("MySql:CharSet", "utf8mb4"),
Question2Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 2")
.Annotation("MySql:CharSet", "utf8mb4"),
Question2Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 2")
.Annotation("MySql:CharSet", "utf8mb4"),
Question2Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 2")
.Annotation("MySql:CharSet", "utf8mb4"),
Question3Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 3")
.Annotation("MySql:CharSet", "utf8mb4"),
Question3Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 3")
.Annotation("MySql:CharSet", "utf8mb4"),
Question3Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 3")
.Annotation("MySql:CharSet", "utf8mb4"),
Question4Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 4")
.Annotation("MySql:CharSet", "utf8mb4"),
Question4Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 4")
.Annotation("MySql:CharSet", "utf8mb4"),
Question4Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 4")
.Annotation("MySql:CharSet", "utf8mb4"),
Question5Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 5")
.Annotation("MySql:CharSet", "utf8mb4"),
Question5Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 5")
.Annotation("MySql:CharSet", "utf8mb4"),
Question5Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 5")
.Annotation("MySql:CharSet", "utf8mb4"),
Question6Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 6")
.Annotation("MySql:CharSet", "utf8mb4"),
Question6Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 6")
.Annotation("MySql:CharSet", "utf8mb4"),
Question6Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 6")
.Annotation("MySql:CharSet", "utf8mb4"),
Question7Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 7")
.Annotation("MySql:CharSet", "utf8mb4"),
Question7Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 7")
.Annotation("MySql:CharSet", "utf8mb4"),
Question7Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 7")
.Annotation("MySql:CharSet", "utf8mb4"),
Question8Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 8")
.Annotation("MySql:CharSet", "utf8mb4"),
Question8Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 8")
.Annotation("MySql:CharSet", "utf8mb4"),
Question8Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 8")
.Annotation("MySql:CharSet", "utf8mb4"),
Question9Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 9")
.Annotation("MySql:CharSet", "utf8mb4"),
Question9Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 9")
.Annotation("MySql:CharSet", "utf8mb4"),
Question9Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 9")
.Annotation("MySql:CharSet", "utf8mb4"),
Question10Desc = table.Column<string>(type: "longtext", nullable: true, comment: "คำถามข้อที่ 10")
.Annotation("MySql:CharSet", "utf8mb4"),
Question10Score = table.Column<string>(type: "longtext", nullable: true, comment: "คำตอบข้อที่ 10")
.Annotation("MySql:CharSet", "utf8mb4"),
Question10Answer = table.Column<string>(type: "longtext", nullable: true, comment: "กรอกคะแนน 10")
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_RetirementQuestionnaireQuestions", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "RetirementQuestionnaireQuestions");
}
}
}

View file

@ -0,0 +1,151 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class addtableRetirementQuestionnaireQuestion1 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Comment",
table: "RetirementQuestions",
type: "longtext",
nullable: true,
comment: "ความคิดเห็น")
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<int>(
name: "Score1",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 1");
migrationBuilder.AddColumn<int>(
name: "Score10",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 10");
migrationBuilder.AddColumn<int>(
name: "Score2",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 2");
migrationBuilder.AddColumn<int>(
name: "Score3",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 3");
migrationBuilder.AddColumn<int>(
name: "Score4",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 4");
migrationBuilder.AddColumn<int>(
name: "Score5",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 5");
migrationBuilder.AddColumn<int>(
name: "Score6",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 6");
migrationBuilder.AddColumn<int>(
name: "Score7",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 7");
migrationBuilder.AddColumn<int>(
name: "Score8",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 8");
migrationBuilder.AddColumn<int>(
name: "Score9",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนข้อ 9");
migrationBuilder.AddColumn<int>(
name: "ScoreTotal",
table: "RetirementQuestions",
type: "int",
nullable: true,
comment: "คะแนนรวม");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Comment",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score1",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score10",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score2",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score3",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score4",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score5",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score6",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score7",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score8",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "Score9",
table: "RetirementQuestions");
migrationBuilder.DropColumn(
name: "ScoreTotal",
table: "RetirementQuestions");
}
}
}

View file

@ -11734,6 +11734,14 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Property<Guid?>("ReligionId")
.HasColumnType("char(36)");
b.Property<string>("RemarkHorizontal")
.HasColumnType("longtext")
.HasComment("หมายเหตุแนวนอน");
b.Property<string>("RemarkVertical")
.HasColumnType("longtext")
.HasComment("หมายเหตุแนวตั้ง");
b.Property<DateTime?>("ReportingDate")
.HasColumnType("datetime(6)")
.HasComment("วันที่รายงานตัว");
@ -11810,6 +11818,68 @@ namespace BMA.EHR.Infrastructure.Migrations
b.ToTable("PlacementProfiles");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)")
.HasColumnOrder(0)
.HasComment("PrimaryKey")
.HasAnnotation("Relational:JsonPropertyName", "id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)")
.HasColumnOrder(100)
.HasComment("สร้างข้อมูลเมื่อ");
b.Property<string>("CreatedFullName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnOrder(104)
.HasComment("ชื่อ User ที่สร้างข้อมูล");
b.Property<string>("CreatedUserId")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("varchar(40)")
.HasColumnOrder(101)
.HasComment("User Id ที่สร้างข้อมูล");
b.Property<Guid>("DocumentId")
.HasColumnType("char(36)");
b.Property<string>("LastUpdateFullName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnOrder(105)
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
b.Property<string>("LastUpdateUserId")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("varchar(40)")
.HasColumnOrder(103)
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
b.Property<DateTime?>("LastUpdatedAt")
.HasColumnType("datetime(6)")
.HasColumnOrder(102)
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
b.Property<Guid>("PlacementProfileId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("DocumentId");
b.HasIndex("PlacementProfileId");
b.ToTable("PlacementProfileDocs");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b =>
{
b.Property<Guid>("Id")
@ -13567,6 +13637,10 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("int")
.HasComment("ครั้งที่");
b.Property<DateTime?>("SignDate")
.HasColumnType("datetime(6)")
.HasComment("ประกาศ ณ วันที่");
b.Property<string>("Type")
.IsRequired()
.HasColumnType("longtext")
@ -13654,6 +13728,10 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("int")
.HasComment("ครั้งที่");
b.Property<DateTime?>("SignDate")
.HasColumnType("datetime(6)")
.HasComment("ประกาศ ณ วันที่");
b.Property<int>("Total")
.HasColumnType("int")
.HasComment("จำนวนคน");
@ -13777,6 +13855,10 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("datetime(6)")
.HasComment("กําหนดวันนัดหมายเพื่อทําการสัมภาษณ์การลาออก");
b.Property<string>("Comment")
.HasColumnType("longtext")
.HasComment("ความคิดเห็น");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)")
.HasColumnOrder(100)
@ -13858,6 +13940,50 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Property<Guid>("RetirementResignId")
.HasColumnType("char(36)");
b.Property<int?>("Score1")
.HasColumnType("int")
.HasComment("คะแนนข้อ 1");
b.Property<int?>("Score10")
.HasColumnType("int")
.HasComment("คะแนนข้อ 10");
b.Property<int?>("Score2")
.HasColumnType("int")
.HasComment("คะแนนข้อ 2");
b.Property<int?>("Score3")
.HasColumnType("int")
.HasComment("คะแนนข้อ 3");
b.Property<int?>("Score4")
.HasColumnType("int")
.HasComment("คะแนนข้อ 4");
b.Property<int?>("Score5")
.HasColumnType("int")
.HasComment("คะแนนข้อ 5");
b.Property<int?>("Score6")
.HasColumnType("int")
.HasComment("คะแนนข้อ 6");
b.Property<int?>("Score7")
.HasColumnType("int")
.HasComment("คะแนนข้อ 7");
b.Property<int?>("Score8")
.HasColumnType("int")
.HasComment("คะแนนข้อ 8");
b.Property<int?>("Score9")
.HasColumnType("int")
.HasComment("คะแนนข้อ 9");
b.Property<int?>("ScoreTotal")
.HasColumnType("int")
.HasComment("คะแนนรวม");
b.Property<bool?>("SuggestFriends")
.HasColumnType("tinyint(1)")
.HasComment("ท่านจะแนะนำเพื่อนให้มาร่วมงานกับกรุงเทพมหานครหรือไม่");
@ -13881,6 +14007,178 @@ namespace BMA.EHR.Infrastructure.Migrations
b.ToTable("RetirementQuestions");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestionnaireQuestion", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)")
.HasColumnOrder(0)
.HasComment("PrimaryKey")
.HasAnnotation("Relational:JsonPropertyName", "id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)")
.HasColumnOrder(100)
.HasComment("สร้างข้อมูลเมื่อ");
b.Property<string>("CreatedFullName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnOrder(104)
.HasComment("ชื่อ User ที่สร้างข้อมูล");
b.Property<string>("CreatedUserId")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("varchar(40)")
.HasColumnOrder(101)
.HasComment("User Id ที่สร้างข้อมูล");
b.Property<string>("LastUpdateFullName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)")
.HasColumnOrder(105)
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
b.Property<string>("LastUpdateUserId")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("varchar(40)")
.HasColumnOrder(103)
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
b.Property<DateTime?>("LastUpdatedAt")
.HasColumnType("datetime(6)")
.HasColumnOrder(102)
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
b.Property<string>("Question10Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 10");
b.Property<string>("Question10Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 10");
b.Property<string>("Question10Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 10");
b.Property<string>("Question1Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 1");
b.Property<string>("Question1Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 1");
b.Property<string>("Question1Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 1");
b.Property<string>("Question2Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 2");
b.Property<string>("Question2Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 2");
b.Property<string>("Question2Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 2");
b.Property<string>("Question3Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 3");
b.Property<string>("Question3Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 3");
b.Property<string>("Question3Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 3");
b.Property<string>("Question4Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 4");
b.Property<string>("Question4Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 4");
b.Property<string>("Question4Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 4");
b.Property<string>("Question5Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 5");
b.Property<string>("Question5Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 5");
b.Property<string>("Question5Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 5");
b.Property<string>("Question6Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 6");
b.Property<string>("Question6Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 6");
b.Property<string>("Question6Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 6");
b.Property<string>("Question7Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 7");
b.Property<string>("Question7Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 7");
b.Property<string>("Question7Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 7");
b.Property<string>("Question8Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 8");
b.Property<string>("Question8Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 8");
b.Property<string>("Question8Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 8");
b.Property<string>("Question9Answer")
.HasColumnType("longtext")
.HasComment("กรอกคะแนน 9");
b.Property<string>("Question9Desc")
.HasColumnType("longtext")
.HasComment("คำถามข้อที่ 9");
b.Property<string>("Question9Score")
.HasColumnType("longtext")
.HasComment("คำตอบข้อที่ 9");
b.HasKey("Id");
b.ToTable("RetirementQuestionnaireQuestions");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResign", b =>
{
b.Property<Guid>("Id")
@ -14007,6 +14305,10 @@ namespace BMA.EHR.Infrastructure.Migrations
.HasColumnType("longtext")
.HasComment("เหตุผลไม่อนุมัติ");
b.Property<string>("RemarkHorizontal")
.HasColumnType("longtext")
.HasComment("หมายเหตุแนวนอน");
b.Property<DateTime?>("SendDate")
.HasColumnType("datetime(6)")
.HasComment("วันที่ยื่นขอออกราชการ");
@ -14790,11 +15092,11 @@ namespace BMA.EHR.Infrastructure.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrgReceiveInsignia")
b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrgReceiveInsignia")
.WithMany()
.HasForeignKey("OrgReceiveInsigniaId");
b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrgReturnInsignia")
b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrgReturnInsignia")
.WithMany()
.HasForeignKey("OrgReturnInsigniaId");
@ -15593,6 +15895,25 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Navigation("Religion");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b =>
{
b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document")
.WithMany()
.HasForeignKey("DocumentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile")
.WithMany("PlacementProfileDocs")
.HasForeignKey("PlacementProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Document");
b.Navigation("PlacementProfile");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b =>
{
b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Avatar")
@ -16344,6 +16665,8 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Navigation("PlacementCertificates");
b.Navigation("PlacementEducations");
b.Navigation("PlacementProfileDocs");
});
modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b =>

View file

@ -250,6 +250,7 @@ namespace BMA.EHR.Infrastructure.Persistence
public DbSet<PlacementEducation> PlacementEducations { get; set; }
public DbSet<PlacementIsProperty> PlacementIsProperties { get; set; }
public DbSet<PlacementProfile> PlacementProfiles { get; set; }
public DbSet<PlacementProfileDoc> PlacementProfileDocs { get; set; }
public DbSet<PlacementType> PlacementTypes { get; set; }
public DbSet<PlacementTransfer> PlacementTransfers { get; set; }
public DbSet<PlacementReceive> PlacementReceives { get; set; }
@ -330,6 +331,7 @@ namespace BMA.EHR.Infrastructure.Persistence
public DbSet<RetirementOther> RetirementOthers { get; set; }
public DbSet<RetirementOtherDoc> RetirementOtherDocs { get; set; }
public DbSet<RetirementQuestion> RetirementQuestions { get; set; }
public DbSet<RetirementQuestionnaireQuestion> RetirementQuestionnaireQuestions { get; set; }
#endregion

View file

@ -1340,10 +1340,10 @@ namespace BMA.EHR.Insignia.Service.Controllers
Salary = x.Salary,
DateReceiveInsignia = x.DateReceiveInsignia,
DocReceiveInsignia = x.DocReceiveInsignia == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : x.DocReceiveInsignia.Id,
OrgReceiveInsignia = x.OrgReceiveInsignia == null ? "-" : x.OrgReceiveInsignia.Name,
OrgReceiveInsignia = x.OrgReceiveInsignia == null || x.OrgReceiveInsignia.OrganizationOrganization == null ? "-" : x.OrgReceiveInsignia.OrganizationOrganization.Name,
DateReturnInsignia = x.DateReturnInsignia,
DocReturnInsignia = x.DocReturnInsignia == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : x.DocReturnInsignia.Id,
OrgReturnInsignia = x.OrgReturnInsignia == null ? "-" : x.OrgReturnInsignia.Name,
OrgReturnInsignia = x.OrgReturnInsignia == null || x.OrgReturnInsignia.OrganizationOrganization == null ? "-" : x.OrgReturnInsignia.OrganizationOrganization.Name,
}).ToListAsync();
var _insigniaNoteProfiles = new List<dynamic>();
foreach (var insigniaNoteProfile in insigniaNoteProfiles)
@ -2356,7 +2356,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
var doc = await _documentService.UploadFileAsync(file, file.FileName);
insigniaNoteProfile.DocReturnInsignia = doc;
}
insigniaNoteProfile.OrgReturnInsignia = await _context.OrganizationOrganizations.Where(x => x.Id == req.OrgId).FirstOrDefaultAsync();
insigniaNoteProfile.OrgReturnInsignia = await _context.Organizations.Where(x => x.Id == req.OrgId).FirstOrDefaultAsync();
insigniaNoteProfile.DateReturnInsignia = req.Date;
insigniaNoteProfile.LastUpdateFullName = FullName ?? "System Administrator";
insigniaNoteProfile.LastUpdateUserId = UserId ?? "";
@ -2395,7 +2395,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
var doc = await _documentService.UploadFileAsync(file, file.FileName);
insigniaNoteProfile.DocReceiveInsignia = doc;
}
insigniaNoteProfile.OrgReceiveInsignia = await _context.OrganizationOrganizations.Where(x => x.Id == req.OrgId).FirstOrDefaultAsync();
insigniaNoteProfile.OrgReceiveInsignia = await _context.Organizations.Where(x => x.Id == req.OrgId).FirstOrDefaultAsync();
insigniaNoteProfile.DateReceiveInsignia = req.Date;
insigniaNoteProfile.LastUpdateFullName = FullName ?? "System Administrator";
insigniaNoteProfile.LastUpdateUserId = UserId ?? "";

View file

@ -391,8 +391,23 @@ namespace BMA.EHR.Placement.Service.Controllers
Pass = x.Pass,
IsProperty = x.IsProperty == null ? null : Newtonsoft.Json.JsonConvert.DeserializeObject<List<PersonPropertyRequest>>(x.IsProperty),
BmaOfficer = "",
PlacementProfileDocs = x.PlacementProfileDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
}).FirstOrDefaultAsync(x => x.PersonalId == personalId);
if (data == null)
return Error(GlobalMessages.DataNotFound, 404);
var placementProfileDocs = new List<dynamic>();
foreach (var doc in data.PlacementProfileDocs)
{
var _doc = new
{
doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
docId = doc.Id,
};
placementProfileDocs.Add(_doc);
}
var _data = new
{
data.PersonalId,
@ -466,7 +481,8 @@ namespace BMA.EHR.Placement.Service.Controllers
data.ExamRound,
data.Pass,
data.IsProperty,
BmaOfficer = await _documentService.CheckBmaOfficer(data.IdCard),
BmaOfficer = data.IdCard == null ? null : await _documentService.CheckBmaOfficer(data.IdCard),
Docs = placementProfileDocs,
};
return Success(_data);
}
@ -1196,5 +1212,66 @@ namespace BMA.EHR.Placement.Service.Controllers
return Success(path);
}
[HttpPut("doc/{personalId:length(36)}")]
public async Task<ActionResult<ResponseObject>> UpdateDoc([FromBody] PlacementFileRequest req, Guid personalId)
{
var placementProfile = await _context.PlacementProfiles
.Include(x => x.PlacementCertificates)
.FirstOrDefaultAsync(x => x.Id == personalId);
if (placementProfile == null)
return Error(GlobalMessages.DataNotFound, 404);
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 placementProfileDoc = new PlacementProfileDoc
{
PlacementProfile = placementProfile,
Document = _doc,
CreatedUserId = UserId ?? "System Administrator",
CreatedFullName = FullName ?? "",
CreatedAt = DateTime.Now,
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
};
await _context.PlacementProfileDocs.AddAsync(placementProfileDoc);
}
}
}
_context.SaveChanges();
return Success();
}
[HttpDelete("doc/{personalId:length(36)}/{docId:length(36)}")]
public async Task<ActionResult<ResponseObject>> DeleteDoc(Guid personalId, Guid docId)
{
var person = await _context.PlacementProfiles
.Include(x => x.PlacementProfileDocs)
.FirstOrDefaultAsync(x => x.Id == personalId);
if (person == null)
return Error(GlobalMessages.DataNotFound, 404);
var profileDoc = person.PlacementProfileDocs.FirstOrDefault(x => x.Id == docId);
if (profileDoc == null)
return Error(GlobalMessages.CertificateNotFound, 404);
_context.PlacementProfileDocs.RemoveRange(profileDoc);
var _docId = profileDoc.Document.Id;
await _context.SaveChangesAsync();
await _documentService.DeleteFileAsync(_docId);
await _context.SaveChangesAsync();
return Success();
}
}
}

View file

@ -0,0 +1,79 @@
using BMA.EHR.Domain.Common;
using BMA.EHR.Domain.Extensions;
using BMA.EHR.Application.Repositories.Reports;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;
using Swashbuckle.AspNetCore.Annotations;
using Telerik.Reporting;
using Telerik.Reporting.Processing;
namespace BMA.EHR.Report.Service.Controllers
{
[Route("api/v{version:apiVersion}/report/candidate")]
[ApiVersion("2.0")]
[ApiController]
[Produces("application/json")]
[Authorize]
[SwaggerTag("API รายงานระบบสอบคัดเลือก")]
public class CandidateReportController : BaseController
{
private readonly CandidateReportRepository _service;
private readonly IWebHostEnvironment _hostingEnvironment;
private readonly IConfiguration _configuration;
public CandidateReportController(CandidateReportRepository service, IWebHostEnvironment hostingEnvironment, IConfiguration configuration)
{
_service = service;
_hostingEnvironment = hostingEnvironment;
_configuration = configuration;
}
#region
/// <summary>
/// ใบสมัคร
/// </summary>
/// <param name="Id">Id ผู้สมัคร</param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("{exportType}/{Id}")]
public async Task<ActionResult<ResponseObject>> GetExamCandidate([FromRoute] Guid Id, string exportType = "pdf")
{
var candidate = await _service.GetExamCandidateAsync(Id);
if (candidate != null)
{
var mimeType = "";
switch (exportType.Trim().ToLower())
{
case "pdf": mimeType = "application/pdf"; break;
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
}
var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"ใบสมัครสอบคัดเลือก.trdp");
ReportPackager reportPacker = new ReportPackager();
Telerik.Reporting.Report? report = null;
using (var sourceStream = System.IO.File.OpenRead(rptFile))
{
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
}
report.DataSource = candidate;
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
InstanceReportSource instanceReportSource = new InstanceReportSource()
{
ReportDocument = report,
};
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);
return File(result.DocumentBytes, mimeType, $"ใบสมัครสอบคัดเลือก.{exportType.Trim().ToLower()}");
}
else
{
return NotFound();
}
}
#endregion
}
}

View file

@ -260,6 +260,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
Round = x.Round,
Total = x.Total,
TypeReport = x.TypeReport,
SignDate = x.SignDate,
Detail = x.Detail,
Json = true,
Document = x.Document == null ? false : true,
@ -282,6 +283,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
Round = retire.Round,
Total = retire.RetirementProfiles.Count(),
TypeReport = retire.TypeReport,
SignDate = retire.SignDate,
Detail = retire.Detail,
Json = false,
Document = retire.Document == null ? false : true,
@ -439,6 +441,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
RetirementPeriod = retire,
Round = retire.Round,
TypeReport = retire.TypeReport,
SignDate = retire.SignDate,
Detail = retire.Detail,
Year = retire.Year,
Type = retire.Type,
@ -458,6 +461,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
retire.Document = null;
retire.Round = retire.Round + 1;
retire.TypeReport = req.Option.Trim().ToUpper();
retire.SignDate = null;
retire.CreatedUserId = UserId ?? "System Administrator";
retire.CreatedFullName = FullName ?? "";
retire.CreatedAt = DateTime.Now;
@ -597,7 +601,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
};
profile_news.Add(data);
}
return Success(new { retire.Id, retire.CreatedAt, retire.Year, retire.Round, retire.Type, retire.TypeReport, retire.Detail, profile = profile_news });
return Success(new { retire.Id, retire.CreatedAt, retire.Year, retire.Round, retire.Type, retire.TypeReport, retire.SignDate, retire.Detail, profile = profile_news });
}
/// <summary>
@ -632,7 +636,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
var responseTask = client.GetAsync(url);
var results = responseTask.Result;
var filehis = profileHistorys.Document == null ? null : await _documentService.ImagesPath(profileHistorys.Document.Id);
return Success(new { Json = true, profileHistorys.Id, profileHistorys.CreatedAt, profileHistorys.Year, profileHistorys.Round, profileHistorys.Type, profileHistorys.TypeReport, profileHistorys.Detail, profile = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ProfileJsonRequest>>(results.Content.ReadAsStringAsync().Result), File = filehis });
return Success(new { Json = true, profileHistorys.Id, profileHistorys.CreatedAt, profileHistorys.Year, profileHistorys.Round, profileHistorys.Type, profileHistorys.TypeReport, profileHistorys.SignDate, profileHistorys.Detail, profile = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ProfileJsonRequest>>(results.Content.ReadAsStringAsync().Result), File = filehis });
}
}
var profile_new = await _context.RetirementProfiles
@ -692,7 +696,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
var file = retire.Document == null ? null : await _documentService.ImagesPath(retire.Document.Id);
return Success(new { Json = false, retire.Id, retire.CreatedAt, retire.Year, retire.Round, retire.Type, retire.TypeReport, retire.Detail, profile = profile_news, File = file });
return Success(new { Json = false, retire.Id, retire.CreatedAt, retire.Year, retire.Round, retire.Type, retire.TypeReport, retire.SignDate, retire.Detail, profile = profile_news, File = file });
}
/// <summary>
@ -919,6 +923,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
var doc = await _documentService.UploadFileAsync(file, file.FileName);
var _doc = await _context.Documents.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == doc.Id);
retire.SignDate = req.signDate;
retire.Document = _doc;
retire.LastUpdateFullName = FullName ?? "System Administrator";
retire.LastUpdateUserId = UserId ?? "";

View file

@ -10,6 +10,7 @@ using BMA.EHR.Retirement.Service.Requests;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims;
using System.Security.Cryptography;
@ -173,6 +174,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.RemarkHorizontal,
p.ApproveReason,
p.RejectReason,
p.IsActive,
@ -227,6 +229,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.RemarkHorizontal,
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 }),
})
@ -274,6 +277,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.RemarkHorizontal,
Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
Docs = retirementResignDocs,
};
@ -385,6 +389,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
updated.ActiveDate = req.ActiveDate;
updated.Reason = req.Reason;
updated.OrganizationPositionOld = req.OrganizationPositionOld;
updated.RemarkHorizontal = req.RemarkHorizontal;
updated.PositionTypeOld = req.PositionTypeOld;
updated.PositionLevelOld = req.PositionLevelOld;
updated.PositionNumberOld = req.PositionNumberOld;
@ -755,6 +760,19 @@ namespace BMA.EHR.Retirement.Service.Controllers
LastUpdatedAt = p.LastUpdatedAt,
OrganizationPositionOld = p.RetirementResign.OrganizationPositionOld,
CreatedAt = p.CreatedAt,
Score1 = p.Score1,
Score2 = p.Score2,
Score3 = p.Score3,
Score4 = p.Score4,
Score5 = p.Score5,
Score6 = p.Score6,
Score7 = p.Score7,
Score8 = p.Score8,
Score9 = p.Score9,
Score10 = p.Score10,
ScoreTotal = p.ScoreTotal,
Comment = p.Comment,
})
.FirstOrDefaultAsync();
if (data == null)
@ -789,6 +807,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.OrganizationPositionOld,
data.LastUpdatedAt,
data.CreatedAt,
data.Score1,
data.Score2,
data.Score3,
data.Score4,
data.Score5,
data.Score6,
data.Score7,
data.Score8,
data.Score9,
data.Score10,
data.ScoreTotal,
data.Comment,
};
return Success(_data);
@ -914,6 +944,44 @@ 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("questionnaire/comment/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> PutQuestionComment([FromBody] RetirementQuestionCommentRequest req, Guid id)
{
var uppdated = await _context.RetirementQuestions.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null)
return Error(GlobalMessages.RetirementQuestionNotFound);
uppdated.Score1 = req.Score1;
uppdated.Score2 = req.Score2;
uppdated.Score3 = req.Score3;
uppdated.Score4 = req.Score4;
uppdated.Score5 = req.Score5;
uppdated.Score6 = req.Score6;
uppdated.Score7 = req.Score7;
uppdated.Score8 = req.Score8;
uppdated.Score9 = req.Score9;
uppdated.Score10 = req.Score10;
uppdated.ScoreTotal = req.ScoreTotal;
uppdated.Comment = req.Comment;
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? "";
uppdated.LastUpdatedAt = DateTime.Now;
await _context.SaveChangesAsync();
return Success();
}
/// <summary>
/// แก้ไขกําหนดวันนัดหมายเพื่อทําการสัมภาษณ์การลาออก
/// </summary>
@ -949,5 +1017,112 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Success();
}
/// <summary>
/// list คำถาม
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("questionnaire/question")]
public async Task<ActionResult<ResponseObject>> GetQuestionnaireQuestion()
{
var retirementQuestionnaireQuestion = await _context.RetirementQuestionnaireQuestions.AsQueryable()
.Select(x => new
{
Question1Desc = x.Question1Desc,
Question1Score = x.Question1Score,
Question1Answer = x.Question1Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question1Answer),
Question2Desc = x.Question2Desc,
Question2Score = x.Question2Score,
Question2Answer = x.Question2Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question2Answer),
Question3Desc = x.Question3Desc,
Question3Score = x.Question3Score,
Question3Answer = x.Question3Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question3Answer),
Question4Desc = x.Question4Desc,
Question4Score = x.Question4Score,
Question4Answer = x.Question4Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question4Answer),
Question5Desc = x.Question5Desc,
Question5Score = x.Question5Score,
Question5Answer = x.Question5Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question5Answer),
Question6Desc = x.Question6Desc,
Question6Score = x.Question6Score,
Question6Answer = x.Question6Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question6Answer),
Question7Desc = x.Question7Desc,
Question7Score = x.Question7Score,
Question7Answer = x.Question7Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question7Answer),
Question8Desc = x.Question8Desc,
Question8Score = x.Question8Score,
Question8Answer = x.Question8Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question8Answer),
Question9Desc = x.Question9Desc,
Question9Score = x.Question9Score,
Question9Answer = x.Question9Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question9Answer),
Question10Desc = x.Question10Desc,
Question10Score = x.Question10Score,
Question10Answer = x.Question10Answer == null ? null : JsonConvert.DeserializeObject<List<string>>(x.Question10Answer),
})
.FirstOrDefaultAsync();
if (retirementQuestionnaireQuestion == null)
return Error(GlobalMessages.RetirementQuestionNotFound);
return Success(retirementQuestionnaireQuestion);
}
/// <summary>
/// update คำถาม
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("questionnaire/question")]
public async Task<ActionResult<ResponseObject>> UpdateQuestionnaireQuestion([FromBody] RetirementQuestionnaireQuestionRequest req)
{
var uppdated = await _context.RetirementQuestionnaireQuestions.AsQueryable()
.FirstOrDefaultAsync();
if (uppdated == null)
return Error(GlobalMessages.RetirementQuestionnaireQuestionNotFound);
uppdated.Question1Desc = req.Question1Desc;
uppdated.Question1Score = req.Question1Score;
uppdated.Question1Answer = JsonConvert.SerializeObject(req.Question1Answer);
uppdated.Question2Desc = req.Question2Desc;
uppdated.Question2Score = req.Question2Score;
uppdated.Question2Answer = JsonConvert.SerializeObject(req.Question2Answer);
uppdated.Question3Desc = req.Question3Desc;
uppdated.Question3Score = req.Question3Score;
uppdated.Question3Answer = JsonConvert.SerializeObject(req.Question3Answer);
uppdated.Question4Desc = req.Question4Desc;
uppdated.Question4Score = req.Question4Score;
uppdated.Question4Answer = JsonConvert.SerializeObject(req.Question4Answer);
uppdated.Question5Desc = req.Question5Desc;
uppdated.Question5Score = req.Question5Score;
uppdated.Question5Answer = JsonConvert.SerializeObject(req.Question5Answer);
uppdated.Question6Desc = req.Question6Desc;
uppdated.Question6Score = req.Question6Score;
uppdated.Question6Answer = JsonConvert.SerializeObject(req.Question6Answer);
uppdated.Question7Desc = req.Question7Desc;
uppdated.Question7Score = req.Question7Score;
uppdated.Question7Answer = JsonConvert.SerializeObject(req.Question7Answer);
uppdated.Question8Desc = req.Question8Desc;
uppdated.Question8Score = req.Question8Score;
uppdated.Question8Answer = JsonConvert.SerializeObject(req.Question8Answer);
uppdated.Question9Desc = req.Question9Desc;
uppdated.Question9Score = req.Question9Score;
uppdated.Question9Answer = JsonConvert.SerializeObject(req.Question9Answer);
uppdated.Question10Desc = req.Question10Desc;
uppdated.Question10Score = req.Question10Score;
uppdated.Question10Answer = JsonConvert.SerializeObject(req.Question10Answer);
uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? "";
uppdated.LastUpdatedAt = DateTime.Now;
await _context.SaveChangesAsync();
return Success();
}
}
}

View file

@ -6,5 +6,6 @@ namespace BMA.EHR.Retirement.Service.Requests
public class RetirementFileRequest
{
public List<FormFile>? File { get; set; }
public DateTime? signDate { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Retirement.Service.Requests
{
public class RetirementQuestionCommentRequest
{
public int? Score1 { get; set; }
public int? Score2 { get; set; }
public int? Score3 { get; set; }
public int? Score4 { get; set; }
public int? Score5 { get; set; }
public int? Score6 { get; set; }
public int? Score7 { get; set; }
public int? Score8 { get; set; }
public int? Score9 { get; set; }
public int? Score10 { get; set; }
public int? ScoreTotal { get; set; }
public string? Comment { get; set; }
}
}

View file

@ -0,0 +1,39 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Retirement.Service.Requests
{
public class RetirementQuestionnaireQuestionRequest
{
public string? Question1Desc { get; set; }
public string? Question1Score { get; set; }
public string[] Question1Answer { get; set; }
public string? Question2Desc { get; set; }
public string? Question2Score { get; set; }
public string[] Question2Answer { get; set; }
public string? Question3Desc { get; set; }
public string? Question3Score { get; set; }
public string[] Question3Answer { get; set; }
public string? Question4Desc { get; set; }
public string? Question4Score { get; set; }
public string[] Question4Answer { get; set; }
public string? Question5Desc { get; set; }
public string? Question5Score { get; set; }
public string[] Question5Answer { get; set; }
public string? Question6Desc { get; set; }
public string? Question6Score { get; set; }
public string[] Question6Answer { get; set; }
public string? Question7Desc { get; set; }
public string? Question7Score { get; set; }
public string[] Question7Answer { get; set; }
public string? Question8Desc { get; set; }
public string? Question8Score { get; set; }
public string[] Question8Answer { get; set; }
public string? Question9Desc { get; set; }
public string? Question9Score { get; set; }
public string[] Question9Answer { get; set; }
public string? Question10Desc { get; set; }
public string? Question10Score { get; set; }
public string[] Question10Answer { get; set; }
}
}

View file

@ -13,6 +13,7 @@ namespace BMA.EHR.Retirement.Service.Requests
public string? PositionTypeOld { get; set; }
public string? PositionLevelOld { get; set; }
public string? PositionNumberOld { get; set; }
public string? RemarkHorizontal { get; set; }
public double? AmountOld { get; set; }
public List<FormFile>? File { get; set; }
}