This commit is contained in:
何美荣 2025-11-13 15:34:03 +08:00
parent 6877ccc125
commit 4d98f1efd9
10 changed files with 271135 additions and 30 deletions

View File

@ -33,7 +33,9 @@ namespace APT.BaseData.Data.Mapping.FM
builder.Ignore(t => t.TEAMNAME);
builder.Ignore(t => t.Team);
builder.Property(t => t.ID_CARD)
.HasMaxLength(50);
.HasMaxLength(50);
builder.Property(t => t.USER_TYPE_NAME)
.HasMaxLength(50);
builder.HasOne(t => t.Nav_ApproveRole).WithMany().HasForeignKey(t => t.APPROVE_ROLE_ID).OnDelete(DeleteBehavior.Restrict);
builder.Ignore(t => t.TEAM_ID);
builder.Ignore(t => t.Tenant);

View File

@ -304,6 +304,13 @@ namespace APT.BaseData.Domain.Entities.FM
/// </summary>
[Description("证书")]
[DataFieldIngore]
public virtual ICollection<T_FM_PERSON_CERTIFICATE_FILE> Nav_CertificateFiles { get; set; }
public virtual ICollection<T_FM_PERSON_CERTIFICATE_FILE> Nav_CertificateFiles { get; set; }
[Description("人员类别")]
public Guid? USER_TYPE_ID { get; set; }
[Description("人员类别名称")]
[DataFieldLength(50)]
public string USER_TYPE_NAME { get; set; }
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,82 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class hmr2025111302 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_T_FO_FIRE_JOB_USER_T_FO_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_USER");
migrationBuilder.DropForeignKey(
name: "FK_T_FO_FIRE_JOB_WB_USER_T_FO_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_WB_USER");
migrationBuilder.AddColumn<Guid>(
name: "USER_TYPE_ID",
table: "T_FM_USER",
type: "uniqueidentifier",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "USER_TYPE_NAME",
table: "T_FM_USER",
type: "nvarchar(max)",
nullable: true);
migrationBuilder.AddForeignKey(
name: "FK_T_FO_FIRE_JOB_USER_T_OG_RELATED_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_USER",
column: "USER_TYPE_ID",
principalTable: "T_OG_RELATED_USER_TYPE",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
migrationBuilder.AddForeignKey(
name: "FK_T_FO_FIRE_JOB_WB_USER_T_OG_RELATED_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_WB_USER",
column: "USER_TYPE_ID",
principalTable: "T_OG_RELATED_USER_TYPE",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_T_FO_FIRE_JOB_USER_T_OG_RELATED_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_USER");
migrationBuilder.DropForeignKey(
name: "FK_T_FO_FIRE_JOB_WB_USER_T_OG_RELATED_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_WB_USER");
migrationBuilder.DropColumn(
name: "USER_TYPE_ID",
table: "T_FM_USER");
migrationBuilder.DropColumn(
name: "USER_TYPE_NAME",
table: "T_FM_USER");
migrationBuilder.AddForeignKey(
name: "FK_T_FO_FIRE_JOB_USER_T_FO_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_USER",
column: "USER_TYPE_ID",
principalTable: "T_FO_USER_TYPE",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
migrationBuilder.AddForeignKey(
name: "FK_T_FO_FIRE_JOB_WB_USER_T_FO_USER_TYPE_USER_TYPE_ID",
table: "T_FO_FIRE_JOB_WB_USER",
column: "USER_TYPE_ID",
principalTable: "T_FO_USER_TYPE",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class hmr2025111303 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "USER_TYPE_NAME",
table: "T_FM_USER",
type: "nvarchar(50)",
maxLength: 50,
nullable: true,
oldClrType: typeof(string),
oldType: "nvarchar(max)",
oldNullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "USER_TYPE_NAME",
table: "T_FM_USER",
type: "nvarchar(max)",
nullable: true,
oldClrType: typeof(string),
oldType: "nvarchar(50)",
oldMaxLength: 50,
oldNullable: true);
}
}
}

View File

@ -6852,6 +6852,13 @@ namespace APT.Data.Migrations.Migrations
b.Property<Guid?>("T_BI_AREA_TREEID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("USER_TYPE_ID")
.HasColumnType("uniqueidentifier");
b.Property<string>("USER_TYPE_NAME")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<int>("WORKINGYEAR")
.HasColumnType("int");
@ -107965,7 +107972,7 @@ namespace APT.Data.Migrations.Migrations
.HasForeignKey("USER_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.MS.Domain.Entities.FO.T_FO_USER_TYPE", "Nav_UserType")
b.HasOne("APT.MS.Domain.Entities.OG.T_OG_RELATED_USER_TYPE", "Nav_UserType")
.WithMany()
.HasForeignKey("USER_TYPE_ID")
.OnDelete(DeleteBehavior.Restrict);
@ -108233,7 +108240,7 @@ namespace APT.Data.Migrations.Migrations
.HasForeignKey("USER_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.MS.Domain.Entities.FO.T_FO_USER_TYPE", "Nav_UserType")
b.HasOne("APT.MS.Domain.Entities.OG.T_OG_RELATED_USER_TYPE", "Nav_UserType")
.WithMany()
.HasForeignKey("USER_TYPE_ID")
.OnDelete(DeleteBehavior.Restrict);

View File

@ -36,7 +36,7 @@ namespace APT.MS.Domain.Entities.FO
public Guid? USER_TYPE_ID { get; set; }
[Description("导航属性:人员类别")]
public virtual T_FO_USER_TYPE Nav_UserType { get; set; }
public virtual T_OG_RELATED_USER_TYPE Nav_UserType { get; set; }
[Description("证件名称")]
[DataFieldLength(100)]

View File

@ -1,5 +1,6 @@
using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.OG;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
@ -28,7 +29,7 @@ namespace APT.MS.Domain.Entities.FO
public Guid? USER_TYPE_ID { get; set; }
[Description("导航属性:人员类别")]
public virtual T_FO_USER_TYPE Nav_UserType { get; set; }
public virtual T_OG_RELATED_USER_TYPE Nav_UserType { get; set; }
[Description("证件名称")]
[DataFieldLength(100)]

View File

@ -1526,6 +1526,10 @@ namespace APT.PP.WebApi.Controllers.Api
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部负责人"));
}
if (user == null)
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
//判断是否已触发过
@ -1653,33 +1657,20 @@ namespace APT.PP.WebApi.Controllers.Api
if (user == null)
{
//负责人
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
var departUser = departs.FirstOrDefault(t => t.ID == de);
if (departUser != null && departUser.USER_ID != null)
{
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
}
}
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
if (user == null)
{
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
if (parentId != null)
else
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user == null)
//找公司
var companyInfo = departs.FirstOrDefault(t => t.ID == departUser?.PARENT_ID);
if (companyInfo != null && companyInfo.USER_ID != null)
{
//负责人
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
if (departUser != null)
{
if (departUser.USER_ID != null)
{
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
}
}
user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID);
}
}
}
}
if (user != null)
{
@ -1809,12 +1800,13 @@ namespace APT.PP.WebApi.Controllers.Api
//每个车间汇总班组和车间
foreach (var de in tempIds)
{
//车间
var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user == null)
{
//负责人
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
//var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
var departUser = departs.FirstOrDefault(t => t.ID == de);
if (departUser != null && departUser.USER_ID!=null)
{
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
@ -1823,21 +1815,31 @@ namespace APT.PP.WebApi.Controllers.Api
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
if (user == null)
{
//找部门
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
if (parentId != null)
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user == null)
{
//负责人
//部门负责人
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
if (departUser != null)
if (departUser != null && departUser.USER_ID!=null)
{
if (departUser.USER_ID != null)
{
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
}
}
else
{
//找公司
var companyInfo = departs.FirstOrDefault(t => t.ID == parentId);
if (companyInfo != null && companyInfo.USER_ID != null)
{
user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID);
}
}
}
}
}