加字段

This commit is contained in:
何美荣 2025-12-07 20:23:17 +08:00
parent c5c2e39ab1
commit 403cfeb4a8
10 changed files with 137122 additions and 20 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class hmr2025120701 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IS_AUTO",
table: "T_SK_CHECK_SET",
type: "bit",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<bool>(
name: "IS_HOLIDAY",
table: "T_FO_FIRE_JOB_WB",
type: "bit",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<bool>(
name: "IS_HOLIDAY",
table: "T_FO_FIRE_JOB",
type: "bit",
nullable: false,
defaultValue: false);
migrationBuilder.AlterColumn<Guid>(
name: "NEXT_CLASS_TEAM_ID",
table: "T_FO_CURRENT_CLASS_RECORD",
type: "uniqueidentifier",
nullable: true,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier");
migrationBuilder.AlterColumn<Guid>(
name: "CLASS_TEAM_ID",
table: "T_FO_CURRENT_CLASS_RECORD",
type: "uniqueidentifier",
nullable: true,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IS_AUTO",
table: "T_SK_CHECK_SET");
migrationBuilder.DropColumn(
name: "IS_HOLIDAY",
table: "T_FO_FIRE_JOB_WB");
migrationBuilder.DropColumn(
name: "IS_HOLIDAY",
table: "T_FO_FIRE_JOB");
migrationBuilder.AlterColumn<Guid>(
name: "NEXT_CLASS_TEAM_ID",
table: "T_FO_CURRENT_CLASS_RECORD",
type: "uniqueidentifier",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldNullable: true);
migrationBuilder.AlterColumn<Guid>(
name: "CLASS_TEAM_ID",
table: "T_FO_CURRENT_CLASS_RECORD",
type: "uniqueidentifier",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldNullable: true);
}
}
}

View File

@ -32558,7 +32558,7 @@ namespace APT.Data.Migrations.Migrations
b.Property<Guid?>("CLASS_ID") b.Property<Guid?>("CLASS_ID")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<Guid>("CLASS_TEAM_ID") b.Property<Guid?>("CLASS_TEAM_ID")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<string>("CODE") b.Property<string>("CODE")
@ -32648,7 +32648,7 @@ namespace APT.Data.Migrations.Migrations
.HasMaxLength(500) .HasMaxLength(500)
.HasColumnType("nvarchar(500)"); .HasColumnType("nvarchar(500)");
b.Property<Guid>("NEXT_CLASS_TEAM_ID") b.Property<Guid?>("NEXT_CLASS_TEAM_ID")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<Guid?>("ORG_ID") b.Property<Guid?>("ORG_ID")
@ -33013,6 +33013,9 @@ namespace APT.Data.Migrations.Migrations
b.Property<int?>("IS_FIRE") b.Property<int?>("IS_FIRE")
.HasColumnType("int"); .HasColumnType("int");
b.Property<bool>("IS_HOLIDAY")
.HasColumnType("bit");
b.Property<int?>("IS_LEAVE") b.Property<int?>("IS_LEAVE")
.HasColumnType("int"); .HasColumnType("int");
@ -33679,6 +33682,9 @@ namespace APT.Data.Migrations.Migrations
b.Property<int?>("IS_FIRE") b.Property<int?>("IS_FIRE")
.HasColumnType("int"); .HasColumnType("int");
b.Property<bool>("IS_HOLIDAY")
.HasColumnType("bit");
b.Property<int?>("IS_LEAVE") b.Property<int?>("IS_LEAVE")
.HasColumnType("int"); .HasColumnType("int");
@ -77105,6 +77111,9 @@ namespace APT.Data.Migrations.Migrations
b.Property<Guid?>("FORM_ID") b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<bool>("IS_AUTO")
.HasColumnType("bit");
b.Property<bool>("IS_DELETED") b.Property<bool>("IS_DELETED")
.HasColumnType("bit"); .HasColumnType("bit");
@ -108602,8 +108611,7 @@ namespace APT.Data.Migrations.Migrations
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_TEAM", "Nav_Team") b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_TEAM", "Nav_Team")
.WithMany() .WithMany()
.HasForeignKey("CLASS_TEAM_ID") .HasForeignKey("CLASS_TEAM_ID")
.OnDelete(DeleteBehavior.Restrict) .OnDelete(DeleteBehavior.Restrict);
.IsRequired();
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_Department") b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_Department")
.WithMany() .WithMany()

View File

@ -11,7 +11,7 @@ namespace APT.MS.Domain.Entities.FO
/// 岗位当班工作记录表 /// 岗位当班工作记录表
/// </summary> /// </summary>
[Description("岗位当班工作记录表")] [Description("岗位当班工作记录表")]
[DataRuleField("Nav_Team.DEPARTMENT_ID")] //[DataRuleField("Nav_Team.DEPARTMENT_ID")]
public class T_FO_CURRENT_CLASS_RECORD : MesEntityBase public class T_FO_CURRENT_CLASS_RECORD : MesEntityBase
{ {
/// <summary> /// <summary>
@ -292,14 +292,14 @@ namespace APT.MS.Domain.Entities.FO
/// 下个排班排班表ID /// 下个排班排班表ID
/// </summary> /// </summary>
[Description("下个排班排班表ID")] [Description("下个排班排班表ID")]
public Guid NEXT_CLASS_TEAM_ID { get; set; } public Guid? NEXT_CLASS_TEAM_ID { get; set; }
/// <summary> /// <summary>
/// 当前班组ID /// 当前班组ID
/// </summary> /// </summary>
[Description("当前班组ID")] [Description("当前班组ID")]
[FormFieldTable] [FormFieldTable]
[DataFieldForeignKey("Nav_Team")] [DataFieldForeignKey("Nav_Team")]
public Guid CLASS_TEAM_ID { get; set; } public Guid? CLASS_TEAM_ID { get; set; }
/// <summary> /// <summary>
/// 班组 /// 班组
/// </summary> /// </summary>

View File

@ -247,5 +247,8 @@ namespace APT.MS.Domain.Entities.FO
public FOFireStatus FIRE_STATUS { get; set; } public FOFireStatus FIRE_STATUS { get; set; }
[Description("是否已触发")] [Description("是否已触发")]
public bool IS_RUN { get; set; } = false; public bool IS_RUN { get; set; } = false;
[Description("是否节假日")]
public bool IS_HOLIDAY { get; set; } = false;
} }
} }

View File

@ -261,5 +261,7 @@ namespace APT.MS.Domain.Entities.FO
[Description("是否已触发")] [Description("是否已触发")]
public bool IS_RUN { get; set; } = false; public bool IS_RUN { get; set; } = false;
[Description("是否节假日")]
public bool IS_HOLIDAY { get; set; } = false;
} }
} }

View File

@ -80,5 +80,8 @@ namespace APT.MS.Domain.Entities.SK
[Description("检查人")] [Description("检查人")]
[FormFieldEdit] [FormFieldEdit]
public ICollection<T_SK_CHECK_SET_USER> Nav_CheckUsers { get; set; } public ICollection<T_SK_CHECK_SET_USER> Nav_CheckUsers { get; set; }
[Description("是否自动触发")]
public bool IS_AUTO { get; set; } = false;
} }
} }

View File

@ -87,7 +87,7 @@ namespace APT.FO.WebApi.Controllers.Api.FO
entity.CLASS_TEAM_ID = team.ID; entity.CLASS_TEAM_ID = team.ID;
} }
} }
if (entity.CLASS_TEAM_ID == Guid.Empty || entity.DEPARTMENT_POST_ID == null) if (entity.DEPARTMENT_POST_ID == Guid.Empty || entity.DEPARTMENT_POST_ID == null)
{ {
entity.DEPARTMENT_POST_ID = currFMUser.Nav_Person.POST_ID; entity.DEPARTMENT_POST_ID = currFMUser.Nav_Person.POST_ID;
} }

View File

@ -2084,36 +2084,39 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
dt = DateTime.Parse(filter.Parameter1); dt = DateTime.Parse(filter.Parameter1);
} }
var newFilter = new KeywordFilter();
newFilter.OrgId = filter.OrgId;
newFilter.IgnoreDataRule = true;
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
var fmClass = this.GetEntities<T_FM_CLASS>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_ClassDetail"); var fmClass = this.GetEntities<T_FM_CLASS>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_ClassDetail");
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId), "Nav_Person.Nav_Post"); var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId), "Nav_Person.Nav_Post");
var records = this.GetEntities<T_FO_CURRENT_CLASS_RECORD>(t => t.CREATE_TIME.Value.Date == DateTime.Now.Date, new BaseFilter(filter.OrgId)); var records = this.GetEntities<T_FO_CURRENT_CLASS_RECORD>(t => t.RECORD_DATE.Date == dt.Date, newFilter);
var preClass = this.GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(t => t.CREATE_TIME.Value.Date == DateTime.Now.Date && t.DEPARTMENT_SCHEDULING_ID == null, new BaseFilter(filter.OrgId)); var preClass = this.GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(t => t.START_TIME.Date == dt.Date && t.DEPARTMENT_SCHEDULING_ID == null, newFilter);
var preClassIds = preClass.Select(t => t.ID).ToList(); var preClassIds = preClass.Select(t => t.ID).ToList();
var preClassUsers = this.GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD_USER>(t => preClassIds.Contains(t.PRE_SHIFT_MEETING_RECORD_ID), new BaseFilter(filter.OrgId)); var preClassUsers = this.GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD_USER>(t => preClassIds.Contains(t.PRE_SHIFT_MEETING_RECORD_ID), newFilter);
if (preClass != null && preClass.Any()) if (preClass != null && preClass.Any())
{ {
foreach (var item in preClass) foreach (var item in preClass)
{ {
var classFisrt = fmClass.FirstOrDefault(t => t.ID == item.CLASS_ID);
if (classFisrt != null && classFisrt.Nav_ClassDetail != null && classFisrt.Nav_ClassDetail.Any())
{ if (item.END_TIME != DateTime.MinValue && item.END_TIME.Hour == dt.AddHours(1).Hour)
var firstRecord = records.FirstOrDefault(t => t.CLASS_ID == item.CLASS_ID);
var firstTime = classFisrt.Nav_ClassDetail.OrderBy(t => t.NUM).FirstOrDefault();
if (firstTime.ENDTIME.Hour == dt.AddHours(1).Hour && firstRecord == null)
{ {
var userIds = preClassUsers.Where(t => t.PRE_SHIFT_MEETING_RECORD_ID == item.ID).Select(m => m.USER_ID).Distinct().ToList(); var userIds = preClassUsers.Where(t => t.PRE_SHIFT_MEETING_RECORD_ID == item.ID).Select(m => m.USER_ID).Distinct().ToList();
var sendUsers = users.Where(t => userIds.Contains(t.ID) && t.Nav_Person != null).ToList(); var sendUsers = users.Where(t => userIds.Contains(t.ID) && t.Nav_Person != null).ToList();
if (sendUsers != null && sendUsers.Any()) if (sendUsers != null && sendUsers.Any())
{ {
foreach (var user in sendUsers) foreach (var user in sendUsers)
{
var firstRecord = records.FirstOrDefault(t => t.EDITOR_ID == user.ID);
if (firstRecord == null)
{ {
var depart = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID); var depart = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID);
T_FO_CURRENT_CLASS_RECORD record = new T_FO_CURRENT_CLASS_RECORD(); T_FO_CURRENT_CLASS_RECORD record = new T_FO_CURRENT_CLASS_RECORD();
record.ORG_ID = item.ORG_ID; record.ORG_ID = item.ORG_ID;
record.NAME = dt.ToShortDateString() + depart?.NAME + "-" + user?.Nav_Person?.Nav_Post?.NAME + "当班工作记录"; record.NAME = dt.ToShortDateString() + depart?.NAME + "-" + user?.Nav_Person?.Nav_Post?.NAME + "当班工作记录";
record.EDITOR_ID = user.ID; record.EDITOR_ID = user.ID;
record.RECORD_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() +" "+ firstTime.ENDTIME.ToShortTimeString()); record.RECORD_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() + " " + item.END_TIME.ToShortTimeString());
record.CLASS_ID = item.CLASS_ID; record.CLASS_ID = item.CLASS_ID;
record.DEPARTMENT_ID = user.DEPARTMENT_ID; record.DEPARTMENT_ID = user.DEPARTMENT_ID;
record.DEPARTMENT_POST_ID = user?.Nav_Person?.POST_ID; record.DEPARTMENT_POST_ID = user?.Nav_Person?.POST_ID;
@ -2128,9 +2131,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "FO005"); DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "FO005");
notices.Add(notice); notices.Add(notice);
} }
}
} }
} }
}
} }
} }
UnifiedCommit(() => UnifiedCommit(() =>

View File

@ -81,6 +81,10 @@ namespace APT.SK.WebApi.Controllers.Api
checkUsers = checkUsers.Where(t => !t.IS_DELETED).ToList(); checkUsers = checkUsers.Where(t => !t.IS_DELETED).ToList();
checkUsers.ForEach(t => t.Nav_User = null); checkUsers.ForEach(t => t.Nav_User = null);
} }
else
{
throw new Exception("检查人员必须填写");
}
if (details != null && details.Any()) if (details != null && details.Any())
{ {
foreach (var item in details) foreach (var item in details)