问题修复

This commit is contained in:
何美荣 2025-11-22 01:45:24 +08:00
parent 89f8bce783
commit f572730cec
10 changed files with 136584 additions and 80 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class hmr2025112201 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IS_CONFIRM_NEW",
table: "T_FO_FIRE_JOB_WB_DETAIL",
type: "bit",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<bool>(
name: "IS_CONFIRM_NEW",
table: "T_FO_FIRE_JOB_DETAIL",
type: "bit",
nullable: false,
defaultValue: false);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IS_CONFIRM_NEW",
table: "T_FO_FIRE_JOB_WB_DETAIL");
migrationBuilder.DropColumn(
name: "IS_CONFIRM_NEW",
table: "T_FO_FIRE_JOB_DETAIL");
}
}
}

View File

@ -33144,6 +33144,9 @@ namespace APT.Data.Migrations.Migrations
b.Property<int?>("IS_CONFIRM") b.Property<int?>("IS_CONFIRM")
.HasColumnType("int"); .HasColumnType("int");
b.Property<bool>("IS_CONFIRM_NEW")
.HasColumnType("bit");
b.Property<bool>("IS_DELETED") b.Property<bool>("IS_DELETED")
.HasColumnType("bit"); .HasColumnType("bit");
@ -33804,6 +33807,9 @@ namespace APT.Data.Migrations.Migrations
b.Property<int?>("IS_CONFIRM") b.Property<int?>("IS_CONFIRM")
.HasColumnType("int"); .HasColumnType("int");
b.Property<bool>("IS_CONFIRM_NEW")
.HasColumnType("bit");
b.Property<bool>("IS_DELETED") b.Property<bool>("IS_DELETED")
.HasColumnType("bit"); .HasColumnType("bit");

View File

@ -38,5 +38,8 @@ namespace APT.MS.Domain.Entities.FO
[Description("附件")] [Description("附件")]
[FormFieldEdit] [FormFieldEdit]
public virtual ICollection<T_FO_FIRE_JOB_DETAIL_FILE> Nav_DetailFiles { get; set; } public virtual ICollection<T_FO_FIRE_JOB_DETAIL_FILE> Nav_DetailFiles { get; set; }
[Description("是否确认")]
public bool IS_CONFIRM_NEW { get; set; } = false;
} }
} }

View File

@ -37,5 +37,8 @@ namespace APT.MS.Domain.Entities.FO
[Description("附件")] [Description("附件")]
[FormFieldEdit] [FormFieldEdit]
public virtual ICollection<T_FO_FIRE_JOB_WB_DETAIL_FILE> Nav_DetailFiles { get; set; } public virtual ICollection<T_FO_FIRE_JOB_WB_DETAIL_FILE> Nav_DetailFiles { get; set; }
[Description("是否确认")]
public bool IS_CONFIRM_NEW { get; set; } = false;
} }
} }

View File

@ -48,8 +48,8 @@ namespace APT.FO.WebApi.Controllers
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id)) if (string.IsNullOrEmpty(id))
this.ThrowError("060010"); this.ThrowError("060010");
var entity = this.GetEntity<T_FO_FIRE_JOB>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_ImgFile.Nav_File", "Nav_FireDepartment", var entity = this.GetEntity<T_FO_FIRE_JOB>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File", "Nav_FireDepartment",
"Nav_SafeUser.Nav_ImgFile.Nav_File", "Nav_Area", "Nav_Type", "Nav_MonitorUser", "Nav_Risks", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_Users.Nav_UserType", "Nav_Users.Nav_User", "Nav_Users.Nav_UserFiles.Nav_ImgFile.Nav_File", "Nav_SafeUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File", "Nav_Area", "Nav_Type", "Nav_MonitorUser", "Nav_Risks", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_Users.Nav_UserType", "Nav_Users.Nav_User", "Nav_Users.Nav_UserFiles.Nav_ImgFile.Nav_File",
"Nav_FireFiles.Nav_ImgFile.Nav_File", "Nav_MonitorFiles.Nav_ImgFile.Nav_File", "Nav_DispatchUser"); "Nav_FireFiles.Nav_ImgFile.Nav_File", "Nav_MonitorFiles.Nav_ImgFile.Nav_File", "Nav_DispatchUser");
if (entity != null) if (entity != null)
{ {
@ -81,6 +81,10 @@ namespace APT.FO.WebApi.Controllers
{ {
entity.PRODUCTION_UNIT_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PRODUCTION_UNIT_ID; entity.PRODUCTION_UNIT_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PRODUCTION_UNIT_ID;
} }
if (string.IsNullOrEmpty(entity.CODE))
{
entity.CODE = "DHZY" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999);
}
var details = entity.Nav_Details; var details = entity.Nav_Details;
if (details != null && details.Any()) if (details != null && details.Any())
{ {

View File

@ -80,6 +80,10 @@ namespace APT.FO.WebApi.Controllers
{ {
entity.PRODUCTION_UNIT_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PRODUCTION_UNIT_ID; entity.PRODUCTION_UNIT_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PRODUCTION_UNIT_ID;
} }
if (string.IsNullOrEmpty(entity.CODE))
{
entity.CODE = "DHWB" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999);
}
if (entity.RELATED_ID == null) if (entity.RELATED_ID == null)
{ {
throw new Exception("请选择相关方"); throw new Exception("请选择相关方");

View File

@ -34,8 +34,8 @@ namespace APT.FO.WebApi.Controllers
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id)) if (string.IsNullOrEmpty(id))
this.ThrowError("060010"); this.ThrowError("060010");
var entity = this.GetEntity<T_FO_LEADER_WELL_RECORD>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_ProductionUnit", "Nav_Class", "Nav_Users.Nav_User", var entity = this.GetEntity<T_FO_LEADER_WELL_RECORD>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_ProductionUnit", "Nav_Class", "Nav_Users.Nav_User.Nav_UserSignFiles.Nav_ImgFile.Nav_File",
"Nav_Files.Nav_ImgFile.Nav_File", "Nav_PreUsers.Nav_PreUser", "Nav_AfterUsers.Nav_AfterUser"); "Nav_Files.Nav_ImgFile.Nav_File", "Nav_PreUsers.Nav_PreUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File", "Nav_AfterUsers.Nav_AfterUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File");
if (entity != null) if (entity != null)
{ {
var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile.Nav_File", "Nav_User","Nav_DetailAreas.Nav_Area").ToList(); var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile.Nav_File", "Nav_User","Nav_DetailAreas.Nav_Area").ToList();
@ -66,20 +66,30 @@ namespace APT.FO.WebApi.Controllers
{ {
throw new Exception("值班结束时间不能为空"); throw new Exception("值班结束时间不能为空");
} }
if (entity.COMPANY_ID == null)
{
entity.COMPANY_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.PARENT_ID == null)?.ID;
}
if (entity.PRODUCTION_UNIT_ID == null)
{
entity.PRODUCTION_UNIT_ID = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PRODUCTION_UNIT_ID;
}
var userIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_USER>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var userIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_USER>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var fileIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_FILE>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var fileIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_FILE>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var afterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_AFTERUSER>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var detailIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var detailIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var detailFileIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var detailFileIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var detailAreaIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AREA>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var detailAreaIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AREA>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var detailPreUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); //var detailPreUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var detailAfterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); //var detailAfterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var userList = new List<T_FO_LEADER_WELL_RECORD_USER>(); var userList = new List<T_FO_LEADER_WELL_RECORD_USER>();
var fileList = new List<T_FO_LEADER_WELL_RECORD_FILE>(); var fileList = new List<T_FO_LEADER_WELL_RECORD_FILE>();
var afterUserList = new List<T_FO_LEADER_WELL_RECORD_AFTERUSER>();
var detailList = new List<T_FO_LEADER_WELL_RECORD_DETAIL>(); var detailList = new List<T_FO_LEADER_WELL_RECORD_DETAIL>();
var detailFileList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>(); var detailFileList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>();
var detailAreaList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_AREA>(); var detailAreaList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_AREA>();
var detailPreUserList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(); //var detailPreUserList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>();
var detailAfterUserList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(); //var detailAfterUserList = new List<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>();
var users = entity.Nav_Users; var users = entity.Nav_Users;
if (users != null && users.Any()) if (users != null && users.Any())
{ {
@ -112,6 +122,21 @@ namespace APT.FO.WebApi.Controllers
userList.Add(item); userList.Add(item);
} }
} }
var afterUsers = entity.Nav_AfterUsers;
if (afterUsers != null && afterUsers.Any())
{
afterUsers = afterUsers.Where(t => !t.IS_DELETED).ToList();
}
if (afterUsers != null && afterUsers.Any())
{
foreach (var item in afterUsers)
{
item.ORG_ID = entity.ORG_ID;
item.LEADER_WELL_RECORD_ID = entity.ID;
item.Nav_AfterUser = null;
afterUserList.Add(item);
}
}
var details = entity.Nav_Details; var details = entity.Nav_Details;
if (details != null && details.Any()) if (details != null && details.Any())
{ {
@ -142,51 +167,51 @@ namespace APT.FO.WebApi.Controllers
detailAreaList.Add(item2); detailAreaList.Add(item2);
} }
} }
if (item.Nav_PreUsers != null && item.Nav_PreUsers.Any()) //if (item.Nav_PreUsers != null && item.Nav_PreUsers.Any())
{ //{
foreach (var item2 in item.Nav_PreUsers) // foreach (var item2 in item.Nav_PreUsers)
{ // {
item2.ORG_ID = entity.ORG_ID; // item2.ORG_ID = entity.ORG_ID;
item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID; // item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID;
item2.Nav_PreUser = null; // item2.Nav_PreUser = null;
if (item2.PRE_USER_ID == loginUserId) // if (item2.PRE_USER_ID == loginUserId)
{ // {
item2.PRE_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.; // item2.PRE_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.已处理;
} // }
detailPreUserList.Add(item2); // detailPreUserList.Add(item2);
} // }
} //}
else //else
{ //{
foreach(var user in users) // foreach(var user in users)
{ // {
T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER currUserRecord = new T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER(); // T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER currUserRecord = new T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER();
currUserRecord.ORG_ID = entity.ORG_ID; // currUserRecord.ORG_ID = entity.ORG_ID;
currUserRecord.LEADER_WELL_RECORD_DETAIL_ID = item.ID; // currUserRecord.LEADER_WELL_RECORD_DETAIL_ID = item.ID;
currUserRecord.PRE_USER_ID = user.USER_ID; // currUserRecord.PRE_USER_ID = user.USER_ID;
currUserRecord.PRE_USER_DEAL_STATUS = user.DEAL_STATUS; // currUserRecord.PRE_USER_DEAL_STATUS = user.DEAL_STATUS;
currUserRecord.Nav_PreUser = null; // currUserRecord.Nav_PreUser = null;
if (currUserRecord.PRE_USER_ID == loginUserId) // if (currUserRecord.PRE_USER_ID == loginUserId)
{ // {
currUserRecord.PRE_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.; // currUserRecord.PRE_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.已处理;
} // }
detailPreUserList.Add(currUserRecord); // detailPreUserList.Add(currUserRecord);
} // }
} //}
if (item.Nav_AfterUsers != null && item.Nav_AfterUsers.Any()) //if (item.Nav_AfterUsers != null && item.Nav_AfterUsers.Any())
{ //{
foreach (var item2 in item.Nav_AfterUsers) // foreach (var item2 in item.Nav_AfterUsers)
{ // {
item2.ORG_ID = entity.ORG_ID; // item2.ORG_ID = entity.ORG_ID;
item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID; // item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID;
item2.Nav_AfterUser = null; // item2.Nav_AfterUser = null;
if (item2.AFTER_USER_ID == loginUserId) // if (item2.AFTER_USER_ID == loginUserId)
{ // {
item2.AFTER_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.; // item2.AFTER_USER_DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.已处理;
} // }
detailAfterUserList.Add(item2); // detailAfterUserList.Add(item2);
} // }
} //}
item.ORG_ID = entity.ORG_ID; item.ORG_ID = entity.ORG_ID;
item.LEADER_WELL_RECORD_ID = entity.ID; item.LEADER_WELL_RECORD_ID = entity.ID;
item.Nav_DetailFiles = null; item.Nav_DetailFiles = null;
@ -218,7 +243,7 @@ namespace APT.FO.WebApi.Controllers
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
{ {
var allUsers = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(entity.ORG_ID)); var allUsers = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(entity.ORG_ID));
var sendUserIds = detailPreUserList.Where(t => t.PRE_USER_ID != loginUserId && t.PRE_USER_ID != null).Select(m => (Guid)m.PRE_USER_ID).Distinct().ToList(); var sendUserIds = userList.Where(t => t.USER_ID != loginUserId && t.USER_ID != null).Select(m => (Guid)m.USER_ID).Distinct().ToList();
if (sendUserIds != null && sendUserIds.Any()) if (sendUserIds != null && sendUserIds.Any())
{ {
//当班人员不等于自己的,触发签字确认单 //当班人员不等于自己的,触发签字确认单
@ -238,12 +263,12 @@ namespace APT.FO.WebApi.Controllers
} }
else else
{ {
var afterUserIds = detailAfterUserList.Where(t => t.AFTER_USER_ID != loginUserId && t.AFTER_USER_ID != null).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList(); var sendAfterUserIds = afterUserList.Where(t => t.AFTER_USER_ID != loginUserId && t.AFTER_USER_ID != null).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList();
if (afterUserIds != null && afterUserIds.Any()) if (sendAfterUserIds != null && sendAfterUserIds.Any())
{ {
//触发给接班人签字确认 //触发给接班人签字确认
var sendUserNames = allUsers.Where(t => afterUserIds.Contains(t.ID)).Select(m => m.NAME).ToList(); var sendUserNames = allUsers.Where(t => sendAfterUserIds.Contains(t.ID)).Select(m => m.NAME).ToList();
sendNotices = NotificationTaskService.InsertUserNoticeTaskModels("领导带班下井记录-接班人签字确认", entity.ID, entity.ORG_ID, afterUserIds, sendUserNames, DateTime.Now, entity.JOB_END_DATE.Value, 1, "FO041_SHOWPRINT"); sendNotices = NotificationTaskService.InsertUserNoticeTaskModels("领导带班下井记录-接班人签字确认", entity.ID, entity.ORG_ID, sendAfterUserIds, sendUserNames, DateTime.Now, entity.JOB_END_DATE.Value, 1, "FO041_SHOWPRINT");
entity.STATUS = FOStatusEnum.SignAccept; entity.STATUS = FOStatusEnum.SignAccept;
} }
} }
@ -252,10 +277,10 @@ namespace APT.FO.WebApi.Controllers
} }
this.UnifiedCommit(() => this.UnifiedCommit(() =>
{ {
if (detailPreUserIds != null && detailPreUserIds.Any()) if (afterUserIds != null && afterUserIds.Any())
this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(detailPreUserIds); this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_AFTERUSER>(afterUserIds);
if (detailAfterUserIds != null && detailAfterUserIds.Any()) //if (detailAfterUserIds != null && detailAfterUserIds.Any())
this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(detailAfterUserIds); // this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_AFTERUSER>(detailAfterUserIds);
if (detailFileIds != null && detailFileIds.Any()) if (detailFileIds != null && detailFileIds.Any())
this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>(detailFileIds); this.BantchDeleteEntityNoCommit<T_FO_LEADER_WELL_RECORD_DETAIL_FILE>(detailFileIds);
if (detailAreaIds != null && detailAreaIds.Any()) if (detailAreaIds != null && detailAreaIds.Any())
@ -274,10 +299,10 @@ namespace APT.FO.WebApi.Controllers
this.BantchSaveEntityNoCommit(detailFileList); this.BantchSaveEntityNoCommit(detailFileList);
if (detailAreaList != null && detailAreaList.Any()) if (detailAreaList != null && detailAreaList.Any())
this.BantchSaveEntityNoCommit(detailAreaList); this.BantchSaveEntityNoCommit(detailAreaList);
if (detailPreUserList != null && detailPreUserList.Any()) //if (detailPreUserList != null && detailPreUserList.Any())
this.BantchSaveEntityNoCommit(detailPreUserList); // this.BantchSaveEntityNoCommit(detailPreUserList);
if (detailAfterUserList != null && detailAfterUserList.Any()) if (afterUserList != null && afterUserList.Any())
this.BantchSaveEntityNoCommit(detailAfterUserList); this.BantchSaveEntityNoCommit(afterUserList);
if (userList != null && userList.Any()) if (userList != null && userList.Any())
this.BantchSaveEntityNoCommit(userList); this.BantchSaveEntityNoCommit(userList);
if (fileList != null && fileList.Any()) if (fileList != null && fileList.Any())
@ -311,19 +336,18 @@ namespace APT.FO.WebApi.Controllers
var allUsers = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(orgId)); var allUsers = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(orgId));
var sendNotices = new List<T_FM_NOTIFICATION_TASK>(); var sendNotices = new List<T_FM_NOTIFICATION_TASK>();
var detailUsers = new List<T_FO_LEADER_WELL_RECORD_DETAIL>(); var detailUsers = new List<T_FO_LEADER_WELL_RECORD_DETAIL>();
var preUsers = new List<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(); var preUsers = new List<T_FO_LEADER_WELL_RECORD_USER>();
var afterUsers = new List<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(); var afterUsers = new List<T_FO_LEADER_WELL_RECORD_AFTERUSER>();
var record = this.GetEntity<T_FO_LEADER_WELL_RECORD>(entity.ID); var record = this.GetEntity<T_FO_LEADER_WELL_RECORD>(entity.ID);
if (record.STATUS == FOStatusEnum.PreSign) if (record.STATUS == FOStatusEnum.PreSign)
{ {
var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == record.ID, new BaseFilter(orgId)); var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == record.ID, new BaseFilter(orgId));
var detailIds = details.Select(m => m.ID).ToList(); preUsers = this.GetEntities<T_FO_LEADER_WELL_RECORD_USER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.USER_ID == userID, new BaseFilter(orgId)).ToList();
preUsers = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.PRE_USER_ID == userID, new BaseFilter(orgId)).ToList();
if (preUsers != null && preUsers.Any()) if (preUsers != null && preUsers.Any())
{ {
preUsers.ForEach(t => t.PRE_USER_DEAL_STATUS = FOUserShiftStatusEnum.); preUsers.ForEach(t => t.DEAL_STATUS = FOUserShiftStatusEnum.);
} }
var todoCount = this.GetCount<T_FO_LEADER_WELL_RECORD_DETAIL_PREUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.PRE_USER_ID != userID && t.PRE_USER_DEAL_STATUS == 0 && t.PRE_USER_ID != null, new BaseFilter(orgId)); var todoCount = this.GetCount<T_FO_LEADER_WELL_RECORD_USER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.USER_ID != userID && t.DEAL_STATUS == 0 && t.USER_ID != null, new BaseFilter(orgId));
if (todoCount == 0) if (todoCount == 0)
{ {
//触发给现场责任人签字确认 //触发给现场责任人签字确认
@ -336,7 +360,7 @@ namespace APT.FO.WebApi.Controllers
} }
else else
{ {
var afterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.AFTER_USER_ID != userID && t.AFTER_USER_ID != null, new BaseFilter(orgId)).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList(); var afterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_AFTERUSER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.AFTER_USER_ID != userID && t.AFTER_USER_ID != null, new BaseFilter(orgId)).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList();
if (afterUserIds != null && afterUserIds.Any()) if (afterUserIds != null && afterUserIds.Any())
{ {
//触发给接班人签字确认 //触发给接班人签字确认
@ -363,7 +387,7 @@ namespace APT.FO.WebApi.Controllers
if (todoCount == 0) if (todoCount == 0)
{ {
var detailIds = details.Select(m => m.ID).ToList(); var detailIds = details.Select(m => m.ID).ToList();
var afterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.AFTER_USER_ID != userID && t.AFTER_USER_ID != null, new BaseFilter(orgId)).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList(); var afterUserIds = this.GetEntities<T_FO_LEADER_WELL_RECORD_AFTERUSER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.AFTER_USER_ID != userID && t.AFTER_USER_ID != null, new BaseFilter(orgId)).Select(m => (Guid)m.AFTER_USER_ID).Distinct().ToList();
if (afterUserIds != null && afterUserIds.Any()) if (afterUserIds != null && afterUserIds.Any())
{ {
//触发给接班人签字确认 //触发给接班人签字确认
@ -381,12 +405,12 @@ namespace APT.FO.WebApi.Controllers
{ {
var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == record.ID, new BaseFilter(orgId)); var details = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL>(t => t.LEADER_WELL_RECORD_ID == record.ID, new BaseFilter(orgId));
var detailIds = details.Select(m => m.ID).ToList(); var detailIds = details.Select(m => m.ID).ToList();
afterUsers = this.GetEntities<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.AFTER_USER_ID == userID, new BaseFilter(orgId)).ToList(); afterUsers = this.GetEntities<T_FO_LEADER_WELL_RECORD_AFTERUSER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.AFTER_USER_ID == userID, new BaseFilter(orgId)).ToList();
if (afterUsers != null && afterUsers.Any()) if (afterUsers != null && afterUsers.Any())
{ {
afterUsers.ForEach(t => t.AFTER_USER_DEAL_STATUS = FOUserShiftStatusEnum.); afterUsers.ForEach(t => t.AFTER_USER_DEAL_STATUS = FOUserShiftStatusEnum.);
} }
var todoCount = this.GetCount<T_FO_LEADER_WELL_RECORD_DETAIL_AFTERUSER>(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID) && t.AFTER_USER_ID != userID && t.AFTER_USER_DEAL_STATUS == 0 && t.AFTER_USER_ID != null, new BaseFilter(orgId)); var todoCount = this.GetCount<T_FO_LEADER_WELL_RECORD_AFTERUSER>(t => t.LEADER_WELL_RECORD_ID == record.ID && t.AFTER_USER_ID != userID && t.AFTER_USER_DEAL_STATUS == 0 && t.AFTER_USER_ID != null, new BaseFilter(orgId));
if (todoCount == 0) if (todoCount == 0)
{ {
record.STATUS = FOStatusEnum.Archived; record.STATUS = FOStatusEnum.Archived;

View File

@ -36,11 +36,11 @@ namespace APT.FO.WebApi.Controllers
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id)) if (string.IsNullOrEmpty(id))
this.ThrowError("060010"); this.ThrowError("060010");
var entity = this.GetEntity<T_FO_TECH_DISCLOSURE_FROM_SAFE>(id, "Nav_OperationStep", "Nav_User.Nav_Signs.Nav_ImgFile", "Nav_Department"); var entity = this.GetEntity<T_FO_TECH_DISCLOSURE_FROM_SAFE>(id, "Nav_OperationStep", "Nav_User.Nav_UserSignFiles.Nav_ImgFile", "Nav_Department");
if (entity != null) if (entity != null)
{ {
var newFilter = new BaseFilter(filter.OrgId); var newFilter = new BaseFilter(filter.OrgId);
newFilter.SelectField = new List<string> { "ID", "DEAL_STATUS", "TECH_DISCLOSURE_FROM_ID", "USER_ID", "Nav_User.NAME", "Nav_User.CODE", "Nav_User.FILE_PATH", "Nav_User.Nav_Signs.Nav_ImgFile" }; newFilter.SelectField = new List<string> { "ID", "DEAL_STATUS", "TECH_DISCLOSURE_FROM_ID", "USER_ID", "Nav_User.NAME", "Nav_User.CODE", "Nav_User.FILE_PATH", "Nav_User.Nav_UserSignFiles.Nav_ImgFile" };
var persons = this.GetEntities<T_FO_TECH_DISCLOSURE_FROM_SAFE_PERSON>(t => t.TECH_DISCLOSURE_FROM_ID == entity.ID, newFilter).ToList(); var persons = this.GetEntities<T_FO_TECH_DISCLOSURE_FROM_SAFE_PERSON>(t => t.TECH_DISCLOSURE_FROM_ID == entity.ID, newFilter).ToList();
entity.Nav_Person = persons.OrderBy(t => t.MODIFY_TIME).ThenByDescending(m => m.DEAL_STATUS).ToList(); entity.Nav_Person = persons.OrderBy(t => t.MODIFY_TIME).ThenByDescending(m => m.DEAL_STATUS).ToList();
} }

View File

@ -38,11 +38,11 @@ namespace APT.FO.WebApi.Controllers
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id)) if (string.IsNullOrEmpty(id))
this.ThrowError("060010"); this.ThrowError("060010");
var entity = this.GetEntity<T_FO_TECH_DISCLOSURE_FROM_TECH>(id, "Nav_OperationStep", "Nav_User.Nav_Signs.Nav_ImgFile", "Nav_Department"); var entity = this.GetEntity<T_FO_TECH_DISCLOSURE_FROM_TECH>(id, "Nav_OperationStep", "Nav_User.Nav_UserSignFiles.Nav_ImgFile", "Nav_Department");
if (entity != null) if (entity != null)
{ {
var newFilter = new BaseFilter(filter.OrgId); var newFilter = new BaseFilter(filter.OrgId);
newFilter.SelectField = new List<string> { "ID", "DEAL_STATUS", "TECH_DISCLOSURE_FROM_ID", "USER_ID", "Nav_User.NAME", "Nav_User.CODE", "Nav_User.FILE_PATH", "Nav_User.Nav_Signs.Nav_ImgFile" }; newFilter.SelectField = new List<string> { "ID", "DEAL_STATUS", "TECH_DISCLOSURE_FROM_ID", "USER_ID", "Nav_User.NAME", "Nav_User.CODE", "Nav_User.FILE_PATH", "Nav_User.Nav_UserSignFiles.Nav_ImgFile" };
var persons = this.GetEntities<T_FO_TECH_DISCLOSURE_FROM_TECH_PERSON>(t => t.TECH_DISCLOSURE_FROM_ID == entity.ID, newFilter).ToList(); var persons = this.GetEntities<T_FO_TECH_DISCLOSURE_FROM_TECH_PERSON>(t => t.TECH_DISCLOSURE_FROM_ID == entity.ID, newFilter).ToList();
entity.Nav_Person = persons.OrderBy(t => t.MODIFY_TIME).ThenByDescending(m => m.DEAL_STATUS).ToList(); entity.Nav_Person = persons.OrderBy(t => t.MODIFY_TIME).ThenByDescending(m => m.DEAL_STATUS).ToList();
} }