fix : Leave and Insignia (Not Complete)
This commit is contained in:
parent
89b4c71dbd
commit
c85bece782
14 changed files with 18266 additions and 88 deletions
|
|
@ -147,6 +147,8 @@ namespace BMA.EHR.Application.Repositories.Reports
|
|||
|
||||
public async Task<dynamic> GetProfileInsignia(Guid id)
|
||||
{
|
||||
|
||||
|
||||
var profile = (from r in await _dbContext.Set<Profile>()
|
||||
.Include(x => x.Prefix)
|
||||
.Include(x => x.Position)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using BMA.EHR.Application.Common.Interfaces;
|
||||
using BMA.EHR.Application.Responses.Organizations;
|
||||
using BMA.EHR.Application.Responses.Profiles;
|
||||
using BMA.EHR.Domain.Models.HR;
|
||||
using BMA.EHR.Domain.Models.MetaData;
|
||||
|
|
@ -266,7 +267,7 @@ namespace BMA.EHR.Application.Repositories
|
|||
{
|
||||
try
|
||||
{
|
||||
var apiPath = $"{_configuration["API"]}/org/dotnet/keycloak";
|
||||
var apiPath = $"{_configuration["API"]}/org/dotnet/user-fullname/{keycloakId}";
|
||||
|
||||
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
|
||||
if (apiResult.Result != null)
|
||||
|
|
@ -349,6 +350,36 @@ namespace BMA.EHR.Application.Repositories
|
|||
}
|
||||
}
|
||||
|
||||
public GetOrganizationResponseDTO? GetOc(Guid ocId, int level, string? accessToken)
|
||||
{
|
||||
try
|
||||
{
|
||||
var apiPath = $"{_configuration["API"]}/org/find/all";
|
||||
var body = new
|
||||
{
|
||||
nodeId = ocId,
|
||||
node = level
|
||||
|
||||
};
|
||||
|
||||
var apiResult = PostExternalAPIAsync(apiPath, accessToken ?? "", body).Result;
|
||||
if (apiResult != null)
|
||||
{
|
||||
var raw = JsonConvert.DeserializeObject<GetOrganizationResponseResultDTO>(apiResult);
|
||||
if (raw != null && raw.Result != null)
|
||||
{
|
||||
return raw.Result;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BMA.EHR.Application.Responses.Organizations
|
||||
{
|
||||
public class GetOrganizationResponseDTO
|
||||
{
|
||||
public Guid? RootId { get; set; }
|
||||
|
||||
public string? Root { get; set; }
|
||||
|
||||
public string? RootShortName { get; set; }
|
||||
|
||||
public Guid? Child1Id { get; set; }
|
||||
|
||||
public string? Child1 { get; set; }
|
||||
|
||||
public string? Child1ShortName { get; set; }
|
||||
|
||||
public Guid? Child2Id { get; set; }
|
||||
|
||||
public string? Child2 { get; set; }
|
||||
|
||||
public string? Child2ShortName { get; set; }
|
||||
|
||||
public Guid? Child3Id { get; set; }
|
||||
|
||||
public string? Child3 { get; set; }
|
||||
|
||||
public string? Child3ShortName { get; set; }
|
||||
|
||||
public Guid? Child4Id { get; set; }
|
||||
|
||||
public string? Child4 { get; set; }
|
||||
|
||||
public string? Child4ShortName { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
namespace BMA.EHR.Application.Responses.Organizations
|
||||
{
|
||||
public class GetOrganizationResponseResultDTO
|
||||
{
|
||||
public string Message { get; set; } = string.Empty;
|
||||
|
||||
public int Status { get; set; } = -1;
|
||||
|
||||
public GetOrganizationResponseDTO? Result { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -27,7 +27,7 @@ namespace BMA.EHR.Application.Responses.Profiles
|
|||
|
||||
public string? Oc { get; set; }
|
||||
|
||||
public List<ProfileSalary> Salaries { get; set; } = new();
|
||||
public ProfileSalaryResult? ProfileSalary { get; set; } = new();
|
||||
|
||||
public Guid? Keycloak { get; set; }
|
||||
|
||||
|
|
@ -61,4 +61,22 @@ namespace BMA.EHR.Application.Responses.Profiles
|
|||
public string LastUpdateFullName { get; set; }
|
||||
public string PosTypeName { get; set; }
|
||||
}
|
||||
|
||||
public class ProfileSalaryResult
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public DateTime? CreatedAt { get; set; }
|
||||
public Guid? CreatedUserId { get; set; }
|
||||
public DateTime? LastUpdatedAt { get; set; }
|
||||
public Guid? LastUpdateUserId { get; set; }
|
||||
public string? CreatedFullName { get; set; }
|
||||
public string? LastUpdateFullName { get; set; }
|
||||
public string PosNo { get; set; } = string.Empty;
|
||||
|
||||
public double? Amount { get; set; }
|
||||
|
||||
public double? PositionSalaryAmount { get; set; }
|
||||
|
||||
public double? MouthSalaryAmount { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
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;
|
||||
using BMA.EHR.Domain.Models.Base;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Domain.Models.Insignias
|
||||
{
|
||||
|
|
@ -11,8 +7,9 @@ namespace BMA.EHR.Domain.Models.Insignias
|
|||
{
|
||||
[Comment("จำนวนทั้งหมด")]
|
||||
public int Total { get; set; }
|
||||
[Comment("Fk Table OrganizationOrganization")]
|
||||
public OrganizationOrganization OrganizationOrganization { get; set; }
|
||||
[Comment("รหัสหน่วยงาน")]
|
||||
public Guid OrganizationId { get; set; }
|
||||
//public OrganizationOrganization OrganizationOrganization { get; set; }
|
||||
[Comment("Fk Table InsigniaManage")]
|
||||
public InsigniaManage InsigniaManage { get; set; }
|
||||
public virtual List<InsigniaManageProfile> InsigniaManageProfiles { get; set; } = new List<InsigniaManageProfile>();
|
||||
|
|
|
|||
|
|
@ -11,18 +11,27 @@ namespace BMA.EHR.Domain.Models.Insignias
|
|||
{
|
||||
[Comment("สถานะการคืน")]
|
||||
public bool Status { get; set; }
|
||||
|
||||
[Comment("ยืมวันที่")]
|
||||
public DateTime? BorrowDate { get; set; }
|
||||
|
||||
[Comment("Fk Table OrganizationOrganization Borrow")]
|
||||
public OrganizationOrganization? BorrowOrganization { get; set; }
|
||||
//public OrganizationOrganization? BorrowOrganization { get; set; }
|
||||
public Guid? BorrowOrganizationId { get; set; }
|
||||
|
||||
[Comment("คืนวันที่")]
|
||||
public DateTime? ReturnDate { get; set; }
|
||||
|
||||
[Comment("Fk Table OrganizationOrganization Return")]
|
||||
public OrganizationOrganization? ReturnOrganization { get; set; }
|
||||
//public OrganizationOrganization? ReturnOrganization { get; set; }
|
||||
public Guid? ReturnOrganizationId { get; set; }
|
||||
|
||||
[Comment("เหตุผลคืน")]
|
||||
public string? ReturnReason { get; set; }
|
||||
|
||||
[Comment("Fk Table InsigniaNoteProfile")]
|
||||
public InsigniaNoteProfile InsigniaNoteProfile { get; set; }
|
||||
|
||||
[Comment("Fk Table InsigniaManageOrganiation")]
|
||||
public InsigniaManageOrganiation InsigniaManageOrganiation { get; set; }
|
||||
}
|
||||
|
|
|
|||
17926
BMA.EHR.Infrastructure/Migrations/20240624034856_Change Org Link to GUID.Designer.cs
generated
Normal file
17926
BMA.EHR.Infrastructure/Migrations/20240624034856_Change Org Link to GUID.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,153 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Infrastructure.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class ChangeOrgLinktoGUID : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_InsigniaManageOrganiations_OrganizationOrganizations_Organiz~",
|
||||
table: "InsigniaManageOrganiations");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_InsigniaManageProfiles_OrganizationOrganizations_BorrowOrgan~",
|
||||
table: "InsigniaManageProfiles");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_InsigniaManageProfiles_OrganizationOrganizations_ReturnOrgan~",
|
||||
table: "InsigniaManageProfiles");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_InsigniaManageProfiles_BorrowOrganizationId",
|
||||
table: "InsigniaManageProfiles");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_InsigniaManageProfiles_ReturnOrganizationId",
|
||||
table: "InsigniaManageProfiles");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_InsigniaManageOrganiations_OrganizationOrganizationId",
|
||||
table: "InsigniaManageOrganiations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OrganizationOrganizationId",
|
||||
table: "InsigniaManageOrganiations");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "ReturnOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Fk Table OrganizationOrganization Return",
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true)
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "BorrowOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Fk Table OrganizationOrganization Borrow",
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true)
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "OrganizationId",
|
||||
table: "InsigniaManageOrganiations",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
comment: "รหัสหน่วยงาน",
|
||||
collation: "ascii_general_ci");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OrganizationId",
|
||||
table: "InsigniaManageOrganiations");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "ReturnOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true,
|
||||
oldComment: "Fk Table OrganizationOrganization Return")
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "BorrowOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true,
|
||||
oldComment: "Fk Table OrganizationOrganization Borrow")
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "OrganizationOrganizationId",
|
||||
table: "InsigniaManageOrganiations",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_InsigniaManageProfiles_BorrowOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
column: "BorrowOrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_InsigniaManageProfiles_ReturnOrganizationId",
|
||||
table: "InsigniaManageProfiles",
|
||||
column: "ReturnOrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_InsigniaManageOrganiations_OrganizationOrganizationId",
|
||||
table: "InsigniaManageOrganiations",
|
||||
column: "OrganizationOrganizationId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_InsigniaManageOrganiations_OrganizationOrganizations_Organiz~",
|
||||
table: "InsigniaManageOrganiations",
|
||||
column: "OrganizationOrganizationId",
|
||||
principalTable: "OrganizationOrganizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_InsigniaManageProfiles_OrganizationOrganizations_BorrowOrgan~",
|
||||
table: "InsigniaManageProfiles",
|
||||
column: "BorrowOrganizationId",
|
||||
principalTable: "OrganizationOrganizations",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_InsigniaManageProfiles_OrganizationOrganizations_ReturnOrgan~",
|
||||
table: "InsigniaManageProfiles",
|
||||
column: "ReturnOrganizationId",
|
||||
principalTable: "OrganizationOrganizations",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5755,8 +5755,9 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<Guid>("OrganizationOrganizationId")
|
||||
.HasColumnType("char(36)");
|
||||
b.Property<Guid>("OrganizationId")
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("รหัสหน่วยงาน");
|
||||
|
||||
b.Property<int>("Total")
|
||||
.HasColumnType("int")
|
||||
|
|
@ -5766,8 +5767,6 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
|
||||
b.HasIndex("InsigniaManageId");
|
||||
|
||||
b.HasIndex("OrganizationOrganizationId");
|
||||
|
||||
b.ToTable("InsigniaManageOrganiations");
|
||||
});
|
||||
|
||||
|
|
@ -5785,7 +5784,8 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasComment("ยืมวันที่");
|
||||
|
||||
b.Property<Guid?>("BorrowOrganizationId")
|
||||
.HasColumnType("char(36)");
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Fk Table OrganizationOrganization Borrow");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
|
|
@ -5836,7 +5836,8 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.HasComment("คืนวันที่");
|
||||
|
||||
b.Property<Guid?>("ReturnOrganizationId")
|
||||
.HasColumnType("char(36)");
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Fk Table OrganizationOrganization Return");
|
||||
|
||||
b.Property<string>("ReturnReason")
|
||||
.HasColumnType("longtext")
|
||||
|
|
@ -5848,14 +5849,10 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("BorrowOrganizationId");
|
||||
|
||||
b.HasIndex("InsigniaManageOrganiationId");
|
||||
|
||||
b.HasIndex("InsigniaNoteProfileId");
|
||||
|
||||
b.HasIndex("ReturnOrganizationId");
|
||||
|
||||
b.ToTable("InsigniaManageProfiles");
|
||||
});
|
||||
|
||||
|
|
@ -16647,23 +16644,11 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrganizationOrganization")
|
||||
.WithMany()
|
||||
.HasForeignKey("OrganizationOrganizationId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("InsigniaManage");
|
||||
|
||||
b.Navigation("OrganizationOrganization");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageProfile", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "BorrowOrganization")
|
||||
.WithMany()
|
||||
.HasForeignKey("BorrowOrganizationId");
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", "InsigniaManageOrganiation")
|
||||
.WithMany("InsigniaManageProfiles")
|
||||
.HasForeignKey("InsigniaManageOrganiationId")
|
||||
|
|
@ -16676,17 +16661,9 @@ namespace BMA.EHR.Infrastructure.Migrations
|
|||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "ReturnOrganization")
|
||||
.WithMany()
|
||||
.HasForeignKey("ReturnOrganizationId");
|
||||
|
||||
b.Navigation("BorrowOrganization");
|
||||
|
||||
b.Navigation("InsigniaManageOrganiation");
|
||||
|
||||
b.Navigation("InsigniaNoteProfile");
|
||||
|
||||
b.Navigation("ReturnOrganization");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteDoc", b =>
|
||||
|
|
|
|||
|
|
@ -28,18 +28,21 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
private readonly InsigniaPeriodsRepository _repository;
|
||||
private readonly NotificationRepository _repositoryNoti;
|
||||
private readonly UserProfileRepository _userProfileRepository;
|
||||
|
||||
public InsigniaManageController(ApplicationDBContext context,
|
||||
MinIOService documentService,
|
||||
InsigniaPeriodsRepository repository,
|
||||
NotificationRepository repositoryNoti,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
IHttpContextAccessor httpContextAccessor,
|
||||
UserProfileRepository userProfileRepository)
|
||||
{
|
||||
_context = context;
|
||||
_documentService = documentService;
|
||||
_repository = repository;
|
||||
_repositoryNoti = repositoryNoti;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_userProfileRepository = userProfileRepository;
|
||||
}
|
||||
|
||||
#region " Properties "
|
||||
|
|
@ -48,6 +51,8 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
private string? AccessToken => _httpContextAccessor?.HttpContext?.Request.Headers["Authorization"];
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -246,7 +251,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
.Select(p => new
|
||||
{
|
||||
Id = p.Id,
|
||||
OrganizationOrganization = p.OrganizationOrganization.Name,
|
||||
OrganizationOrganization = _userProfileRepository.GetOc(p.OrganizationId, 0, AccessToken) == null ? "" : _userProfileRepository.GetOc(p.OrganizationId, 0, AccessToken)!.Root,
|
||||
Total = p.Total,
|
||||
Allocate = p.InsigniaManageProfiles.Where(x => x.Status == false).Count(),
|
||||
Remain = p.Total - p.InsigniaManageProfiles.Where(x => x.Status == false).Count(),
|
||||
|
|
@ -254,8 +259,6 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
CreatedAt = p.CreatedAt,
|
||||
})
|
||||
.ToListAsync();
|
||||
// if (insigniaManageOrg == null)
|
||||
// return Error(GlobalMessages.InsigniaManageOrgNotFound);
|
||||
return Success(insigniaManageOrg);
|
||||
}
|
||||
|
||||
|
|
@ -270,33 +273,37 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
[HttpPost("org")]
|
||||
public async Task<ActionResult<ResponseObject>> PostOrganization([FromBody] InsigniaManageOrganizationRequest req)
|
||||
{
|
||||
var organization = await _context.Organizations.AsQueryable()
|
||||
.Include(x => x.OrganizationOrganization)
|
||||
.FirstOrDefaultAsync(x => x.Id == req.OrganizationOrganizationId);
|
||||
|
||||
var organization = _userProfileRepository.GetOc(req.OrganizationOrganizationId, 0, AccessToken);
|
||||
|
||||
//var organization = await _context.Organizations.AsQueryable()
|
||||
// .Include(x => x.OrganizationOrganization)
|
||||
// .FirstOrDefaultAsync(x => x.Id == req.OrganizationOrganizationId);
|
||||
if (organization == null)
|
||||
return Error(GlobalMessages.OrganizationNotFound);
|
||||
if (organization.OrganizationOrganization == null)
|
||||
return Error(GlobalMessages.OrganizationNotFound);
|
||||
//if (organization.OrganizationOrganization == null)
|
||||
// return Error(GlobalMessages.OrganizationNotFound);
|
||||
|
||||
var insigniaManage = await _context.InsigniaManages.AsQueryable()
|
||||
.Include(x => x.InsigniaManageOrganiations)
|
||||
.ThenInclude(x => x.OrganizationOrganization)
|
||||
//.ThenInclude(x => x.OrganizationOrganization)
|
||||
.FirstOrDefaultAsync(x => x.Id == req.insigniaManageId);
|
||||
if (insigniaManage == null)
|
||||
return Error(GlobalMessages.InsigniaManageNotFound);
|
||||
|
||||
var insigniaManageOrganiation = await _context.InsigniaManageOrganiations.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.OrganizationOrganization == organization.OrganizationOrganization && x.InsigniaManage == insigniaManage);
|
||||
.FirstOrDefaultAsync(x => x.OrganizationId == organization.RootId && x.InsigniaManage == insigniaManage);
|
||||
if (insigniaManageOrganiation != null)
|
||||
return Error(GlobalMessages.InsigniaManageOrgDupicate);
|
||||
|
||||
var total = insigniaManage.InsigniaManageOrganiations.Where(x => x.OrganizationOrganization != organization.OrganizationOrganization).Sum(x => x.Total);
|
||||
var total = insigniaManage.InsigniaManageOrganiations.Where(x => x.OrganizationId != organization.RootId).Sum(x => x.Total);
|
||||
if (req.Total + total > insigniaManage.Total)
|
||||
return Error(GlobalMessages.InsigniaManageOrgLimit);
|
||||
await _context.InsigniaManageOrganiations.AddAsync(
|
||||
new InsigniaManageOrganiation
|
||||
{
|
||||
OrganizationOrganization = organization.OrganizationOrganization,
|
||||
//OrganizationOrganization = organization.OrganizationOrganization,
|
||||
OrganizationId = organization.RootId ?? Guid.Empty,
|
||||
Total = req.Total,
|
||||
InsigniaManage = insigniaManage,
|
||||
CreatedFullName = FullName ?? "System Administrator",
|
||||
|
|
@ -346,7 +353,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
public async Task<ActionResult<ResponseObject>> PutOrganization([FromBody] InsigniaManageOrganizationUpdateRequest req, Guid insigniaManageOrgId)
|
||||
{
|
||||
var uppdated = await _context.InsigniaManageOrganiations.AsQueryable()
|
||||
.Include(x => x.OrganizationOrganization)
|
||||
//.Include(x => x.OrganizationOrganization)
|
||||
.Include(x => x.InsigniaManage)
|
||||
.FirstOrDefaultAsync(x => x.Id == insigniaManageOrgId);
|
||||
if (uppdated == null)
|
||||
|
|
@ -354,7 +361,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
|
||||
var insigniaManage = await _context.InsigniaManages.AsQueryable()
|
||||
.Include(x => x.InsigniaManageOrganiations)
|
||||
.ThenInclude(x => x.OrganizationOrganization)
|
||||
//.ThenInclude(x => x.OrganizationOrganization)
|
||||
.FirstOrDefaultAsync(x => x.Id == uppdated.InsigniaManage.Id);
|
||||
if (insigniaManage == null)
|
||||
return Error(GlobalMessages.InsigniaManageNotFound);
|
||||
|
|
@ -427,17 +434,19 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
if (insigniaNoteProfile.Status != "DONE")
|
||||
return Error(GlobalMessages.InsigniaNoBorrow);
|
||||
|
||||
var _organization = await _context.Organizations.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == insigniaNoteProfile.Profile.OcId);
|
||||
if (_organization == null)
|
||||
return Error(GlobalMessages.OrganizationNotFound);
|
||||
//var _organization = await _context.Organizations.AsQueryable()
|
||||
// .FirstOrDefaultAsync(x => x.Id == insigniaNoteProfile.Profile.OcId);
|
||||
|
||||
var organization = await _context.Organizations.AsQueryable()
|
||||
.Include(x => x.OrganizationOrganization)
|
||||
.FirstOrDefaultAsync(x => x.Id == _organization.OrganizationAgencyId);
|
||||
var organization = _userProfileRepository.GetOc(insigniaNoteProfile!.Profile!.OcId.Value, 0, AccessToken);
|
||||
if (organization == null)
|
||||
return Error(GlobalMessages.OrganizationNotFound);
|
||||
|
||||
//var organization = await _context.Organizations.AsQueryable()
|
||||
// .Include(x => x.OrganizationOrganization)
|
||||
// .FirstOrDefaultAsync(x => x.Id == _organization.OrganizationAgencyId);
|
||||
//if (organization == null)
|
||||
// return Error(GlobalMessages.OrganizationNotFound);
|
||||
|
||||
var insigniaManage = await _context.InsigniaManages.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Year == insigniaNoteProfile.InsigniaNote.Year && x.Insignia == insigniaNoteProfile.RequestInsignia);
|
||||
if (insigniaManage == null)
|
||||
|
|
@ -445,7 +454,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
|
||||
var insigniaManageOrganiation = await _context.InsigniaManageOrganiations.AsQueryable()
|
||||
.Include(x => x.InsigniaManageProfiles)
|
||||
.FirstOrDefaultAsync(x => x.OrganizationOrganization == organization.OrganizationOrganization && x.InsigniaManage == insigniaManage);
|
||||
.FirstOrDefaultAsync(x => x.OrganizationId == organization.RootId && x.InsigniaManage == insigniaManage);
|
||||
if (insigniaManageOrganiation == null)
|
||||
return Error(GlobalMessages.InsigniaManageOrgNotFound);
|
||||
|
||||
|
|
@ -462,7 +471,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
{
|
||||
Status = false,
|
||||
InsigniaManageOrganiation = insigniaManageOrganiation,
|
||||
BorrowOrganization = organization.OrganizationOrganization,
|
||||
BorrowOrganizationId = organization.RootId,
|
||||
BorrowDate = req.BorrowDate,
|
||||
InsigniaNoteProfile = insigniaNoteProfile,
|
||||
CreatedFullName = FullName ?? "System Administrator",
|
||||
|
|
@ -492,7 +501,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
{
|
||||
|
||||
var uppdated = await _context.InsigniaManageProfiles.AsQueryable()
|
||||
.Include(x => x.BorrowOrganization)
|
||||
//.Include(x => x.BorrowOrganization)
|
||||
.FirstOrDefaultAsync(x => x.Id == insigniaManageProfileId);
|
||||
if (uppdated == null)
|
||||
return Error(GlobalMessages.InsigniaManageNotFound);
|
||||
|
|
@ -501,7 +510,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
uppdated.ReturnDate = req.ReturnDate;
|
||||
// if (req.ReturnOrganizationId == Guid.Parse("00000000-0000-0000-0000-000000000000"))
|
||||
// {
|
||||
uppdated.ReturnOrganization = uppdated.BorrowOrganization;
|
||||
uppdated.ReturnOrganizationId = uppdated.BorrowOrganizationId;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
|
|
@ -547,12 +556,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
{
|
||||
Id = p.Id,
|
||||
Status = p.Status,
|
||||
BorrowOrganization = p.BorrowOrganization == null ? null : p.BorrowOrganization.Name,
|
||||
BorrowOrganizationId = p.BorrowOrganization == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.BorrowOrganization.Id,
|
||||
BorrowOrganization = _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken) == null ? null : _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken).Root,
|
||||
BorrowOrganizationId = _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken) == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken).RootId,
|
||||
BorrowDate = p.BorrowDate,
|
||||
ReturnDate = p.ReturnDate,
|
||||
ReturnOrganization = p.ReturnOrganization == null ? null : p.ReturnOrganization.Name,
|
||||
ReturnOrganizationId = p.ReturnOrganization == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.ReturnOrganization.Id,
|
||||
ReturnOrganization = _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken) == null ? null : _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken).Root,
|
||||
ReturnOrganizationId = _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken) == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken).RootId,
|
||||
ReturnReason = p.ReturnReason,
|
||||
LastUpdatedAt = p.LastUpdatedAt,
|
||||
CreatedAt = p.CreatedAt,
|
||||
|
|
@ -604,12 +613,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
|||
{
|
||||
Id = p.Id,
|
||||
Status = p.Status,
|
||||
BorrowOrganization = p.BorrowOrganization == null ? null : p.BorrowOrganization.Name,
|
||||
BorrowOrganizationId = p.BorrowOrganization == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.BorrowOrganization.Id,
|
||||
BorrowOrganization = _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken) == null ? null : _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken).Root,
|
||||
BorrowOrganizationId = _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken) == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : _userProfileRepository.GetOc(p.BorrowOrganizationId!.Value, 0, AccessToken).RootId,
|
||||
BorrowDate = p.BorrowDate,
|
||||
ReturnDate = p.ReturnDate,
|
||||
ReturnOrganization = p.ReturnOrganization == null ? null : p.ReturnOrganization.Name,
|
||||
ReturnOrganizationId = p.ReturnOrganization == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.ReturnOrganization.Id,
|
||||
ReturnOrganization = _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken) == null ? null : _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken).Root,
|
||||
ReturnOrganizationId = _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken) == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : _userProfileRepository.GetOc(p.ReturnOrganizationId!.Value, 0, AccessToken).RootId,
|
||||
ReturnReason = p.ReturnReason,
|
||||
LastUpdatedAt = p.LastUpdatedAt,
|
||||
CreatedAt = p.CreatedAt,
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@
|
|||
"ConnectionStrings": {
|
||||
//"DefaultConnection": "User Id=sys;Password=P@ssw0rd;DBA Privilege=SYSDBA;Data Source=localhost:1521/ORCLCDB",
|
||||
//"DefaultConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
"DefaultConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"ExamConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"LeaveConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"DisciplineConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
},
|
||||
"Jwt": {
|
||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||
|
|
@ -39,5 +39,9 @@
|
|||
"Hour": "08",
|
||||
"Minute": "00"
|
||||
},
|
||||
"Protocol": "HTTPS"
|
||||
"Protocol": "HTTPS",
|
||||
"Node": {
|
||||
"API": "https://bma-ehr.frappet.synology.me/api/v1/probation"
|
||||
},
|
||||
"API": "https://bma-ehr.frappet.synology.me/api/v1"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -893,7 +893,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
fullName = _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||
position = p.Position == null ? "" : p.Position,
|
||||
positionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
|
||||
posNo = p.PosNo ?? "",
|
||||
posNo = p.ProfileSalary == null ? "" : p.ProfileSalary.PosNo,
|
||||
reason = "",
|
||||
|
||||
sickDayCount = sickDayCount,
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
break;
|
||||
case "LV-008":
|
||||
{
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
|
||||
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
|
||||
leaveRequest.LeaveSalaryText =
|
||||
|
|
@ -273,7 +273,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
break;
|
||||
case "LV-010":
|
||||
{
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
|
||||
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
|
||||
leaveRequest.LeaveSalaryText =
|
||||
|
|
@ -479,7 +479,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
break;
|
||||
case "LV-008":
|
||||
{
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
|
||||
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
|
||||
leaveRequest.LeaveSalaryText =
|
||||
|
|
@ -499,7 +499,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
break;
|
||||
case "LV-010":
|
||||
{
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
|
||||
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
|
||||
leaveRequest.LeaveSalaryText =
|
||||
|
|
@ -611,7 +611,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var sumLeave = await _leaveRequestRepository.GetSumLeaveByTypeForUserAsync(userId, req.Type, thisYear);
|
||||
var restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1);
|
||||
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
|
||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
var approver = string.Empty;
|
||||
|
|
@ -922,7 +922,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var userCalendar = await _userCalendarRepository.GetExist(profile.Id);
|
||||
var category = userCalendar == null ? "NORMAL" : userCalendar.Calendar;
|
||||
|
||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||
var lastSalary = profile.ProfileSalary;
|
||||
var lastSalaryAmount = lastSalary == null ? 0 : lastSalary.Amount ?? 0;
|
||||
|
||||
var lastLeaveRequest =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue