Merge branch 'master' of http://121.41.2.71:3000/wyw/mh_jy_safe
This commit is contained in:
commit
17d87319db
@ -2486,6 +2486,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
{
|
||||
var entity = this.GetEntity<T_FO_FIRE_JOB>(modelApp.DATA_ID);
|
||||
entity.STATUS = PFStandardStatus.Archived;
|
||||
entity.FIRE_STATUS = FOFireStatus.ApprovingFinish;
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (modelApp != null)
|
||||
@ -2535,6 +2536,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
{
|
||||
var entity = this.GetEntity<T_FO_FIRE_JOB_WB>(modelApp.DATA_ID);
|
||||
entity.STATUS = PFStandardStatus.Archived;
|
||||
entity.FIRE_STATUS = FOFireStatus.ApprovingFinish;
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (modelApp != null)
|
||||
|
||||
135979
APT.Data.Migrations/Migrations/20251120163211_hmr2025112101.Designer.cs
generated
Normal file
135979
APT.Data.Migrations/Migrations/20251120163211_hmr2025112101.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,35 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace APT.Data.Migrations.Migrations
|
||||
{
|
||||
public partial class hmr2025112101 : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IS_RUN",
|
||||
table: "T_FO_FIRE_JOB_WB",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IS_RUN",
|
||||
table: "T_FO_FIRE_JOB",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IS_RUN",
|
||||
table: "T_FO_FIRE_JOB_WB");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IS_RUN",
|
||||
table: "T_FO_FIRE_JOB");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -33016,6 +33016,9 @@ namespace APT.Data.Migrations.Migrations
|
||||
b.Property<int?>("IS_LEAVE")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<bool>("IS_RUN")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<string>("JOB_CONTENT")
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("nvarchar(500)");
|
||||
@ -33662,6 +33665,9 @@ namespace APT.Data.Migrations.Migrations
|
||||
b.Property<int?>("IS_LEAVE")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<bool>("IS_RUN")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<string>("JOB_CONTENT")
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("nvarchar(500)");
|
||||
|
||||
@ -245,5 +245,7 @@ namespace APT.MS.Domain.Entities.FO
|
||||
[Description("动火流程状态")]
|
||||
[EnumName("FOFireStatus")]
|
||||
public FOFireStatus FIRE_STATUS { get; set; }
|
||||
[Description("是否已触发")]
|
||||
public bool IS_RUN { get; set; } = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -235,5 +235,8 @@ namespace APT.MS.Domain.Entities.FO
|
||||
[Description("动火流程状态")]
|
||||
[EnumName("FOFireStatus")]
|
||||
public FOFireStatus FIRE_STATUS { get; set; }
|
||||
|
||||
[Description("是否已触发")]
|
||||
public bool IS_RUN { get; set; } = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ using APT.BaseData.Services.DomainServices;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using APT.Infrastructure.Core;
|
||||
using APT.MS.Domain.Entities.FO;
|
||||
using APT.MS.Domain.Entities.OG;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.Utility;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@ -70,6 +71,14 @@ namespace APT.FO.WebApi.Controllers
|
||||
var departmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
|
||||
entity.APPLY_USER_ID = loginUserId;
|
||||
entity.APPLY_DEPARTMENT_ID = departmentId;
|
||||
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 details = entity.Nav_Details;
|
||||
if (details != null && details.Any())
|
||||
{
|
||||
@ -147,7 +156,7 @@ namespace APT.FO.WebApi.Controllers
|
||||
var userList = new List<T_FO_FIRE_JOB_USER>();
|
||||
if (users != null && users.Any())
|
||||
{
|
||||
var userTypes = this.GetEntities<T_FO_USER_TYPE>(t => t.NAME == "动火操作人员" || t.NAME == "瓦检员" || t.NAME == "喷水人员", new BaseFilter(entity.ORG_ID));
|
||||
var userTypes = this.GetEntities<T_OG_RELATED_USER_TYPE>(t => t.NAME == "动火操作人员" || t.NAME == "瓦检员" || t.NAME == "喷水人员", new BaseFilter(entity.ORG_ID));
|
||||
var userTypeIds = userTypes.Select(m => m.ID).ToList();
|
||||
var dhUser = userTypes.FirstOrDefault(t => t.NAME == "动火操作人员");
|
||||
if (dhUser == null)
|
||||
@ -248,62 +257,114 @@ namespace APT.FO.WebApi.Controllers
|
||||
monitorFileList.Add(item);
|
||||
}
|
||||
}
|
||||
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
|
||||
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
|
||||
{
|
||||
//触发审批
|
||||
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving;
|
||||
entity.FIRE_STATUS = FOFireStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
|
||||
sysFilter.Count = 1;
|
||||
sysFilter.OrgId = entity.ORG_ID;
|
||||
var codes = CodeRuleService.NewGenSerial(sysFilter);
|
||||
var serialCode = codes.Split(new char[] { ',' });
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departmentId);
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), department.DEPARTMENT_TYPE);
|
||||
if (department.DEPARTMENT_STATUS == 2)
|
||||
//监护人员填写
|
||||
if (entity.FIRE_STATUS == FOFireStatus.Monitor)
|
||||
{
|
||||
param = "公司";
|
||||
//触发给动火部门负责人、安全管理人员审阅
|
||||
var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID, new BaseFilter(entity.ORG_ID)).ToList();
|
||||
if (sendUser != null && sendUser.Any())
|
||||
{
|
||||
var sendUserIds = sendUser.Select(t => t.ID).Distinct().ToList();
|
||||
var sendUserNames = sendUser.Select(t => t.NAME).Distinct().ToList();
|
||||
entity.FIRE_STATUS = FOFireStatus.ReadingFinish;
|
||||
notices = NotificationTaskService.InsertUserNoticeTaskModels("动火作业工作票完工验收", entity.ID, entity.ORG_ID, sendUserIds, sendUserNames, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043_SHOWPRINT");
|
||||
}
|
||||
else
|
||||
{
|
||||
//直接归档
|
||||
entity.FIRE_STATUS = FOFireStatus.Archived;
|
||||
}
|
||||
}
|
||||
MFlowPermitService.InsertApprove(serialCode[0], "FO043", param, entity.ID, "FO043_SHOWPRINT", entity.TaskID, true, () =>
|
||||
//动火作业人员填写
|
||||
else if (entity.FIRE_STATUS == FOFireStatus.Sign)
|
||||
{
|
||||
if (detailFileIds != null && detailFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_DETAIL_FILE>(detailFileIds);
|
||||
if (detailIds != null && detailIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_DETAIL>(detailIds);
|
||||
if (userFileIds != null && userFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_USER_FILE>(userFileIds);
|
||||
if (userIds != null && userIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_USER>(userIds);
|
||||
if (fileIds != null && fileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_FILE>(fileIds);
|
||||
if (fireFileIds != null && fireFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_FIRE_FILE>(fireFileIds);
|
||||
if (monitorFileIds != null && monitorFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_MONITOR_FILE>(monitorFileIds);
|
||||
if (riskIds != null && riskIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_RISK>(riskIds);
|
||||
if (entity != null)
|
||||
UpdateEntityNoCommit(entity);
|
||||
if (detailList != null && detailList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailList);
|
||||
if (detailFileList != null && detailFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailFileList);
|
||||
if (userList != null && userList.Any())
|
||||
this.BantchSaveEntityNoCommit(userList);
|
||||
if (userFileList != null && userFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(userFileList);
|
||||
if (riskList != null && riskList.Any())
|
||||
this.BantchSaveEntityNoCommit(riskList);
|
||||
if (monitorFileList != null && monitorFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(monitorFileList);
|
||||
if (fireFileList != null && fireFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
}, null, null, null, null, null, "FO043_SHOWPRINT", null, "动火作业工作票", FMTASKTYPE.JobSite);
|
||||
return true;
|
||||
//触发给动火部门负责人、安全管理人员、矿调度人员审阅
|
||||
var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID || t.ID == entity.DISPATCH_USER_ID, new BaseFilter(entity.ORG_ID)).ToList();
|
||||
if (sendUser != null && sendUser.Any())
|
||||
{
|
||||
var sendUserIds = sendUser.Select(t => t.ID).Distinct().ToList();
|
||||
var sendUserNames = sendUser.Select(t => t.NAME).Distinct().ToList();
|
||||
entity.FIRE_STATUS = FOFireStatus.Reading;
|
||||
notices = NotificationTaskService.InsertUserNoticeTaskModels("动火作业工作票审阅", entity.ID, entity.ORG_ID, sendUserIds, sendUserNames, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043_SHOWPRINT");
|
||||
}
|
||||
else
|
||||
{
|
||||
//没有审阅人就触发给监护人填写
|
||||
var monitorUser = this.GetEntity<T_FM_USER>(t => t.ID == entity.MONITOR_USER_ID);
|
||||
if (monitorUser != null)
|
||||
{
|
||||
entity.FIRE_STATUS = FOFireStatus.Monitor;
|
||||
notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票全程监护", entity.ID, entity.ORG_ID, monitorUser.ID, monitorUser.NAME, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043"));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("监护人不能为空,请联系管理员补充填写");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//触发审批
|
||||
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving;
|
||||
entity.FIRE_STATUS = FOFireStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
|
||||
sysFilter.Count = 1;
|
||||
sysFilter.OrgId = entity.ORG_ID;
|
||||
var codes = CodeRuleService.NewGenSerial(sysFilter);
|
||||
var serialCode = codes.Split(new char[] { ',' });
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departmentId);
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), department.DEPARTMENT_TYPE);
|
||||
if (department.DEPARTMENT_STATUS == 2)
|
||||
{
|
||||
param = "公司";
|
||||
}
|
||||
MFlowPermitService.InsertApprove(serialCode[0], "FO043", param, entity.ID, "FO043_SHOWPRINT", entity.TaskID, true, () =>
|
||||
{
|
||||
if (detailFileIds != null && detailFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_DETAIL_FILE>(detailFileIds);
|
||||
if (detailIds != null && detailIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_DETAIL>(detailIds);
|
||||
if (userFileIds != null && userFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_USER_FILE>(userFileIds);
|
||||
if (userIds != null && userIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_USER>(userIds);
|
||||
if (fileIds != null && fileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_FILE>(fileIds);
|
||||
if (fireFileIds != null && fireFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_FIRE_FILE>(fireFileIds);
|
||||
if (monitorFileIds != null && monitorFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_MONITOR_FILE>(monitorFileIds);
|
||||
if (riskIds != null && riskIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_RISK>(riskIds);
|
||||
if (entity != null)
|
||||
UpdateEntityNoCommit(entity);
|
||||
if (detailList != null && detailList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailList);
|
||||
if (detailFileList != null && detailFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailFileList);
|
||||
if (userList != null && userList.Any())
|
||||
this.BantchSaveEntityNoCommit(userList);
|
||||
if (userFileList != null && userFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(userFileList);
|
||||
if (riskList != null && riskList.Any())
|
||||
this.BantchSaveEntityNoCommit(riskList);
|
||||
if (monitorFileList != null && monitorFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(monitorFileList);
|
||||
if (fireFileList != null && fireFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
}, null, null, null, null, null, "FO043_SHOWPRINT", null, "动火作业工作票", FMTASKTYPE.JobSite);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
this.UnifiedCommit(() =>
|
||||
{
|
||||
@ -341,6 +402,100 @@ namespace APT.FO.WebApi.Controllers
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
if (notices != null && notices.Any())
|
||||
this.BantchSaveEntityNoCommit(notices);
|
||||
});
|
||||
return true;
|
||||
});
|
||||
}
|
||||
/// <summary>
|
||||
/// 部门负责人、安全管理人员审阅
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("IdentityUpdate")]
|
||||
public JsonActionResult<bool> IdentityUpdate([FromBody] T_FO_FIRE_JOB entity)
|
||||
{
|
||||
return SafeExecute(() =>
|
||||
{
|
||||
var fire = this.GetEntity<T_FO_FIRE_JOB>(entity.ID);
|
||||
var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
|
||||
if (entity.TaskID != Guid.Empty)
|
||||
{
|
||||
var currTask = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.ID == entity.TaskID);
|
||||
if (currTask != null)
|
||||
{
|
||||
userId = currTask.USER_ID;
|
||||
}
|
||||
}
|
||||
if (fire == null)
|
||||
{
|
||||
throw new Exception("未获取到动火作业工作票数据,请联系管理员确认");
|
||||
}
|
||||
T_FM_NOTIFICATION_TASK notice = null;
|
||||
if (fire.FIRE_STATUS == FOFireStatus.Reading)
|
||||
{
|
||||
if (fire.FIRE_USER_ID == userId)
|
||||
{
|
||||
fire.USER_DEAL_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
}
|
||||
if (fire.SAFE_USER_ID == userId)
|
||||
{
|
||||
fire.SAFE_DEAL_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
}
|
||||
if (fire.DISPATCH_USER_ID == userId)
|
||||
{
|
||||
fire.DISPATCH_DEAL_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
}
|
||||
if (fire.USER_DEAL_STATUS == FOUserShiftStatusEnum.已处理 && fire.SAFE_DEAL_STATUS == FOUserShiftStatusEnum.已处理 && fire.DISPATCH_DEAL_STATUS == FOUserShiftStatusEnum.已处理)
|
||||
{
|
||||
//触发给监护人填写
|
||||
var monitorUser = this.GetEntity<T_FM_USER>(t => t.ID == fire.MONITOR_USER_ID);
|
||||
if (monitorUser != null)
|
||||
{
|
||||
fire.FIRE_STATUS = FOFireStatus.Monitor;
|
||||
notice = NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票全程监护", fire.ID, fire.ORG_ID, monitorUser.ID, monitorUser.NAME, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("监护人不能为空,请联系管理员补充填写");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (fire.FIRE_STATUS == FOFireStatus.ReadingFinish)
|
||||
{
|
||||
if (fire.FIRE_USER_ID == userId)
|
||||
{
|
||||
fire.USER_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
}
|
||||
if (fire.SAFE_USER_ID == userId)
|
||||
{
|
||||
fire.SAFE_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
}
|
||||
if (fire.USER_DEAL_FINISH_STATUS == FOUserShiftStatusEnum.已处理 && fire.SAFE_DEAL_FINISH_STATUS == FOUserShiftStatusEnum.已处理)
|
||||
{
|
||||
fire.FIRE_STATUS = FOFireStatus.Archived;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("当前非审阅状态,请联系管理员排查");
|
||||
}
|
||||
T_FM_NOTIFICATION_TASK task = null;
|
||||
if (entity.TaskID != Guid.Empty)
|
||||
{
|
||||
task = NotificationTaskService.GetTaskFinishModel(entity.TaskID);
|
||||
task.SOURCE_FORMCODE = "FO043_SHOWPRINT";
|
||||
}
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (fire != null)
|
||||
this.UpdateEntityNoCommit(fire);
|
||||
if (task != null)
|
||||
this.UpdateEntityNoCommit(task);
|
||||
if (notice != null)
|
||||
this.UpdateEntityNoCommit(notice);
|
||||
});
|
||||
return true;
|
||||
});
|
||||
@ -381,6 +536,12 @@ namespace APT.FO.WebApi.Controllers
|
||||
throw new Exception("获取驳回信息失败!");
|
||||
var entity = this.GetEntity<T_FO_FIRE_JOB>(model.DATA_ID, new string[] { "Nav_ApplyUser" });
|
||||
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Rejected;
|
||||
entity.FIRE_STATUS = FOFireStatus.Rejected;
|
||||
entity.USER_DEAL_STATUS = FOUserShiftStatusEnum.待处理;
|
||||
entity.USER_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.待处理;
|
||||
entity.SAFE_DEAL_STATUS = FOUserShiftStatusEnum.待处理;
|
||||
entity.SAFE_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.待处理;
|
||||
entity.DISPATCH_DEAL_STATUS = FOUserShiftStatusEnum.待处理;
|
||||
var persons = this.GetEntities<T_FO_FIRE_JOB_USER>(t => t.FIRE_JOB_ID == model.DATA_ID, new BaseFilter(entity.ORG_ID));
|
||||
if (persons.Any())
|
||||
persons.ForEach(t => { t.DEAL_STATUS = 0; t.Nav_User = null; });
|
||||
|
||||
@ -7,6 +7,7 @@ using APT.BaseData.Services.DomainServices;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using APT.Infrastructure.Core;
|
||||
using APT.MS.Domain.Entities.FO;
|
||||
using APT.MS.Domain.Entities.OG;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.Utility;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@ -70,6 +71,14 @@ namespace APT.FO.WebApi.Controllers
|
||||
var departmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
|
||||
entity.APPLY_USER_ID = loginUserId;
|
||||
entity.APPLY_DEPARTMENT_ID = departmentId;
|
||||
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 details = entity.Nav_Details;
|
||||
if (details != null && details.Any())
|
||||
{
|
||||
@ -147,7 +156,7 @@ namespace APT.FO.WebApi.Controllers
|
||||
var userList = new List<T_FO_FIRE_JOB_WB_USER>();
|
||||
if (users != null && users.Any())
|
||||
{
|
||||
var userTypes = this.GetEntities<T_FO_USER_TYPE>(t => t.NAME == "动火操作人员" || t.NAME == "瓦检员" || t.NAME == "喷水人员", new BaseFilter(entity.ORG_ID));
|
||||
var userTypes = this.GetEntities<T_OG_RELATED_USER_TYPE>(t => t.NAME == "动火操作人员" || t.NAME == "瓦检员" || t.NAME == "喷水人员", new BaseFilter(entity.ORG_ID));
|
||||
var userTypeIds = userTypes.Select(m => m.ID).ToList();
|
||||
var dhUser = userTypes.FirstOrDefault(t => t.NAME == "动火操作人员");
|
||||
if (dhUser == null)
|
||||
@ -262,62 +271,98 @@ namespace APT.FO.WebApi.Controllers
|
||||
monitorFileList.Add(item);
|
||||
}
|
||||
}
|
||||
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
|
||||
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
|
||||
{
|
||||
//触发审批
|
||||
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving;
|
||||
entity.FIRE_STATUS = FOFireStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
|
||||
sysFilter.Count = 1;
|
||||
sysFilter.OrgId = entity.ORG_ID;
|
||||
var codes = CodeRuleService.NewGenSerial(sysFilter);
|
||||
var serialCode = codes.Split(new char[] { ',' });
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departmentId);
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), department.DEPARTMENT_TYPE);
|
||||
if (department.DEPARTMENT_STATUS == 2)
|
||||
//监护人员填写
|
||||
if (entity.FIRE_STATUS == FOFireStatus.Monitor)
|
||||
{
|
||||
param = "公司";
|
||||
//外部施工单位,安全员自动置为已审阅
|
||||
entity.USER_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
entity.SAFE_DEAL_FINISH_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
//直接归档
|
||||
entity.FIRE_STATUS = FOFireStatus.Archived;
|
||||
}
|
||||
MFlowPermitService.InsertApprove(serialCode[0], "FO045", param, entity.ID, "FO045_SHOWPRINT", entity.TaskID, true, () =>
|
||||
//发起人填写
|
||||
else if (entity.FIRE_STATUS == FOFireStatus.Sign)
|
||||
{
|
||||
if (detailFileIds != null && detailFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_DETAIL_FILE>(detailFileIds);
|
||||
if (detailIds != null && detailIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_DETAIL>(detailIds);
|
||||
if (userFileIds != null && userFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_USER_FILE>(userFileIds);
|
||||
if (userIds != null && userIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_USER>(userIds);
|
||||
if (fileIds != null && fileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_FILE>(fileIds);
|
||||
if (fireFileIds != null && fireFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_FIRE_FILE>(fireFileIds);
|
||||
if (monitorFileIds != null && monitorFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_MONITOR_FILE>(monitorFileIds);
|
||||
if (riskIds != null && riskIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_RISK>(riskIds);
|
||||
if (entity != null)
|
||||
UpdateEntityNoCommit(entity);
|
||||
if (detailList != null && detailList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailList);
|
||||
if (detailFileList != null && detailFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailFileList);
|
||||
if (userList != null && userList.Any())
|
||||
this.BantchSaveEntityNoCommit(userList);
|
||||
if (userFileList != null && userFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(userFileList);
|
||||
if (riskList != null && riskList.Any())
|
||||
this.BantchSaveEntityNoCommit(riskList);
|
||||
if (monitorFileList != null && monitorFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(monitorFileList);
|
||||
if (fireFileList != null && fireFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
}, null, null, null, null, null, "FO045_SHOWPRINT", null, "动火作业工作票(外包)", FMTASKTYPE.JobSite);
|
||||
return true;
|
||||
//外部施工单位,安全员自动置为已审阅
|
||||
entity.USER_DEAL_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
entity.SAFE_DEAL_STATUS = FOUserShiftStatusEnum.已处理;
|
||||
//触发给监护人员
|
||||
entity.FIRE_STATUS = FOFireStatus.Monitor;
|
||||
//触发给监护人填写
|
||||
var monitorUser = this.GetEntity<T_FM_USER>(t => t.ID == entity.MONITOR_USER_ID);
|
||||
if (monitorUser != null)
|
||||
{
|
||||
entity.FIRE_STATUS = FOFireStatus.Monitor;
|
||||
notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票全程监护(外包)", entity.ID, entity.ORG_ID, monitorUser.ID, monitorUser.NAME, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO045"));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("监护人不能为空,请联系管理员补充填写");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//触发审批
|
||||
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving;
|
||||
entity.FIRE_STATUS = FOFireStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
|
||||
sysFilter.Count = 1;
|
||||
sysFilter.OrgId = entity.ORG_ID;
|
||||
var codes = CodeRuleService.NewGenSerial(sysFilter);
|
||||
var serialCode = codes.Split(new char[] { ',' });
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departmentId);
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), department.DEPARTMENT_TYPE);
|
||||
if (department.DEPARTMENT_STATUS == 2)
|
||||
{
|
||||
param = "公司";
|
||||
}
|
||||
MFlowPermitService.InsertApprove(serialCode[0], "FO045", param, entity.ID, "FO045_SHOWPRINT", entity.TaskID, true, () =>
|
||||
{
|
||||
if (detailFileIds != null && detailFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_DETAIL_FILE>(detailFileIds);
|
||||
if (detailIds != null && detailIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_DETAIL>(detailIds);
|
||||
if (userFileIds != null && userFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_USER_FILE>(userFileIds);
|
||||
if (userIds != null && userIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_USER>(userIds);
|
||||
if (fileIds != null && fileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_FILE>(fileIds);
|
||||
if (fireFileIds != null && fireFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_FIRE_FILE>(fireFileIds);
|
||||
if (monitorFileIds != null && monitorFileIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_MONITOR_FILE>(monitorFileIds);
|
||||
if (riskIds != null && riskIds.Any())
|
||||
this.BantchDeleteEntityNoCommit<T_FO_FIRE_JOB_WB_RISK>(riskIds);
|
||||
if (entity != null)
|
||||
UpdateEntityNoCommit(entity);
|
||||
if (detailList != null && detailList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailList);
|
||||
if (detailFileList != null && detailFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(detailFileList);
|
||||
if (userList != null && userList.Any())
|
||||
this.BantchSaveEntityNoCommit(userList);
|
||||
if (userFileList != null && userFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(userFileList);
|
||||
if (riskList != null && riskList.Any())
|
||||
this.BantchSaveEntityNoCommit(riskList);
|
||||
if (monitorFileList != null && monitorFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(monitorFileList);
|
||||
if (fireFileList != null && fireFileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
}, null, null, null, null, null, "FO045_SHOWPRINT", null, "动火作业工作票(外包)", FMTASKTYPE.JobSite);
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
this.UnifiedCommit(() =>
|
||||
{
|
||||
@ -355,6 +400,8 @@ namespace APT.FO.WebApi.Controllers
|
||||
this.BantchSaveEntityNoCommit(fireFileList);
|
||||
if (fileList != null && fileList.Any())
|
||||
this.BantchSaveEntityNoCommit(fileList);
|
||||
if (notices != null && notices.Any())
|
||||
this.BantchSaveEntityNoCommit(notices);
|
||||
});
|
||||
return true;
|
||||
});
|
||||
|
||||
@ -1,28 +1,29 @@
|
||||
using APT.BaseData.Domain.Entities.FM;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.BaseData.Domain.ApiModel;
|
||||
using APT.BaseData.Domain.Entities;
|
||||
using APT.BaseData.Domain.Entities.FM;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.BaseData.Domain.IServices;
|
||||
using APT.BaseData.Domain.IServices.FM;
|
||||
using APT.BaseData.Services.DomainServices;
|
||||
using APT.Infrastructure.Core;
|
||||
using APT.MS.Domain.Entities.FO;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using APT.MS.Domain.Entities.OG;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.Utility;
|
||||
using APT.WebApi.Models;
|
||||
using Castle.Core.Internal;
|
||||
using InfluxData.Net.InfluxDb.Models.Responses;
|
||||
using log4net.Filter;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.VisualBasic;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using APT.BaseData.Domain.IServices.FM;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using InfluxData.Net.InfluxDb.Models.Responses;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using APT.BaseData.Services.DomainServices;
|
||||
using log4net.Filter;
|
||||
using Castle.Core.Internal;
|
||||
using APT.WebApi.Models;
|
||||
using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata;
|
||||
using APT.BaseData.Domain.ApiModel;
|
||||
using System.Numerics;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata;
|
||||
|
||||
namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
{
|
||||
@ -1897,7 +1898,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 动火作业开始前半小时触发工作票给动火人员
|
||||
/// </summary>
|
||||
@ -1911,46 +1912,57 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
try
|
||||
{
|
||||
var notices = new List<T_FM_NOTIFICATION_TASK>();
|
||||
var dt = DateTime.Now.AddMinutes(-30);
|
||||
var userType = this.GetEntity<T_FO_USER_TYPE>(t => t.NAME == "动火操作人员");
|
||||
var steps = this.GetEntities<T_HM_OPERATION_STEP>(t =>t.IS_DELETED ==false, new BaseFilter(filter.OrgId));
|
||||
var dt = DateTime.Now.AddMinutes(-60);
|
||||
var dtEnd = DateTime.Now.AddMinutes(-30);
|
||||
var userType = this.GetEntity<T_OG_RELATED_USER_TYPE>(t => t.NAME == "动火操作人员");
|
||||
var steps = this.GetEntities<T_HM_OPERATION_STEP>(t =>t.IS_DELETED ==false, new BaseFilter(filter.OrgId));
|
||||
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId));
|
||||
var jobs = this.GetEntities<T_FO_FIRE_JOB>(t => t.STATUS == BaseData.Domain.Enums.PF.PFStandardStatus.Archived && t.JOB_DATE <= dt, new BaseFilter(filter.OrgId), "Nav_Users");
|
||||
var jobs = this.GetEntities<T_FO_FIRE_JOB>(t => t.STATUS == BaseData.Domain.Enums.PF.PFStandardStatus.Archived && t.JOB_DATE >= dt && t.JOB_DATE <= dtEnd && t.IS_RUN == false, new BaseFilter(filter.OrgId), "Nav_Users");
|
||||
if (userType!=null &&jobs != null && jobs.Any())
|
||||
{
|
||||
foreach (var item in jobs)
|
||||
{
|
||||
var step = steps.FirstOrDefault(t => t.ID == item.OPERATION_STEP_ID);
|
||||
if (item.Nav_Users != null && item.Nav_Users.Any())
|
||||
{
|
||||
foreach (var item in jobs)
|
||||
{
|
||||
item.IS_RUN = true;
|
||||
item.FIRE_STATUS = FOFireStatus.Sign;
|
||||
var step = steps.FirstOrDefault(t => t.ID == item.OPERATION_STEP_ID);
|
||||
if (item.Nav_Users != null && item.Nav_Users.Any())
|
||||
{
|
||||
var sendUser = item.Nav_Users.FirstOrDefault(t => t.USER_TYPE_ID == userType.ID);
|
||||
if (sendUser != null)
|
||||
{
|
||||
var userName = users.FirstOrDefault(t => t.ID == sendUser.USER_ID)?.NAME;
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票" + step?.NAME, item.ID, item.ORG_ID, (Guid)sendUser.USER_ID, userName, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043");
|
||||
if (sendUser != null)
|
||||
{
|
||||
var userName = users.FirstOrDefault(t => t.ID == sendUser.USER_ID)?.NAME;
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票现场验收" + step?.NAME, item.ID, item.ORG_ID, (Guid)sendUser.USER_ID, userName, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO043");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var jobWbs = this.GetEntities<T_FO_FIRE_JOB_WB>(t => t.STATUS == BaseData.Domain.Enums.PF.PFStandardStatus.Archived && t.JOB_DATE <= dt, new BaseFilter(filter.OrgId), "Nav_Users");
|
||||
}
|
||||
var jobWbs = this.GetEntities<T_FO_FIRE_JOB_WB>(t => t.STATUS == BaseData.Domain.Enums.PF.PFStandardStatus.Archived && t.JOB_DATE >= dt && t.JOB_DATE <= dtEnd && t.IS_RUN == false, new BaseFilter(filter.OrgId), "Nav_Users");
|
||||
if (userType != null && jobWbs != null && jobWbs.Any())
|
||||
{
|
||||
foreach (var item in jobs)
|
||||
{
|
||||
var step = steps.FirstOrDefault(t => t.ID == item.OPERATION_STEP_ID);
|
||||
if (item.APPLY_USER_ID != null )
|
||||
{
|
||||
var userName = users.FirstOrDefault(t => t.ID == item.APPLY_USER_ID)?.NAME;
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票(外包)" + step?.NAME, item.ID, item.ORG_ID, (Guid)item.APPLY_USER_ID, userName, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO045");
|
||||
foreach (var item in jobWbs)
|
||||
{
|
||||
item.IS_RUN = true;
|
||||
item.FIRE_STATUS = FOFireStatus.Sign;
|
||||
var step = steps.FirstOrDefault(t => t.ID == item.OPERATION_STEP_ID);
|
||||
if (item.APPLY_USER_ID != null )
|
||||
{
|
||||
var userName = users.FirstOrDefault(t => t.ID == item.APPLY_USER_ID)?.NAME;
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel("动火作业工作票现场验收(外包)" + step?.NAME, item.ID, item.ORG_ID, (Guid)item.APPLY_USER_ID, userName, DateTime.Now,
|
||||
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO045");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
jobs.ForEach(t => t.Nav_Users = null);
|
||||
jobWbs.ForEach(t => t.Nav_Users = null);
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
{
|
||||
if (jobs != null && jobs.Any())
|
||||
BantchSaveEntityNoCommit(jobs);
|
||||
if (jobWbs != null && jobWbs.Any())
|
||||
BantchSaveEntityNoCommit(jobWbs);
|
||||
if (notices != null && notices.Any())
|
||||
BantchSaveEntityNoCommit(notices);
|
||||
});
|
||||
|
||||
@ -594,7 +594,7 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
baseFilter.SelectField = new string[] { "ID", "PRODUCTION_UNIT_ID", "CHECK_TYPE_ID","APPLY_DEPARTMENT_ID","APPLY_USER_ID","PLANCHECKFREQUENCY","DEPARTMENT_TYPE","CHECK_TIME","CHECK_PERSON",
|
||||
"Nav_CheckNoticeDetails.RISK_AREA_ID","Nav_CheckNoticeDetails.CHECK_CONTENTS_ID","Nav_CheckNoticeDetails.CHECKCONTENT","Nav_CheckNoticeDetails.CHECKPROOF","Nav_CheckNoticeDetails.CHECKSTANDARD",
|
||||
"Nav_CheckNoticeFiles.IMG_FILE_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailUsers.USER_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailBasics.LAW_ID" }; //指定字段,包括导航属性
|
||||
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == DateTime.Now.Date && i.CHECK_TIME.Value.Hour == dtNow.Hour && i.STATUS != 0;
|
||||
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == DateTime.Now.Date && i.CHECK_TIME.Value.Hour == dtNow.Hour && i.STATUS == PFStandardStatus.Archived;
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE> notices = this.GetOrderEntities(expression, baseFilter).ToList();
|
||||
var noticeExsisIds = notices.Select(t => t.ID).ToList();
|
||||
baseFilter.SelectField = new string[] { "ID", "SECURITY_INSPECTION_NOTICE_ID" }; //指定字段,包括导航属性
|
||||
@ -720,13 +720,13 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
m.Nav_CheckNoticeDetails = null;
|
||||
m.Nav_CheckNoticeFiles = null;
|
||||
});
|
||||
notices.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close);
|
||||
notices.Where(t => !sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Archived);
|
||||
//notices.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close);
|
||||
//notices.Where(t => !sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Archived);
|
||||
}
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (notices != null && notices.Any())
|
||||
BantchSaveEntityNoCommit(notices);
|
||||
//if (notices != null && notices.Any())
|
||||
// BantchSaveEntityNoCommit(notices);
|
||||
if (tasks != null && tasks.Any())
|
||||
BantchSaveEntityNoCommit(tasks);
|
||||
if (noticeTasks != null && noticeTasks.Any())
|
||||
|
||||
@ -1671,6 +1671,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
var sourceIds = new List<Guid>();
|
||||
T_SK_HIDDEN_DANGER_REPORT dangerReport = null;
|
||||
T_SK_HIDDEN_DANGER_HAND_REPORT hand = null;
|
||||
T_SK_HIDDEN_DANGER_CONFIRM confirm= null;
|
||||
List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>();
|
||||
Guid Keyword = new Guid(filter.Keyword);
|
||||
//检查通知
|
||||
@ -1685,7 +1686,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
{
|
||||
handId = hand.ID;
|
||||
sourceIds.Add(hand.ID);
|
||||
var confirm = GetEntity<T_SK_HIDDEN_DANGER_CONFIRM>(e => e.HIDDEN_DANGER_HAND_REPORT_ID != null && e.HIDDEN_DANGER_HAND_REPORT_ID == hand.ID);
|
||||
confirm = GetEntity<T_SK_HIDDEN_DANGER_CONFIRM>(e => e.HIDDEN_DANGER_HAND_REPORT_ID != null && e.HIDDEN_DANGER_HAND_REPORT_ID == hand.ID);
|
||||
if (confirm != null)
|
||||
{
|
||||
confirmId = confirm.ID;
|
||||
@ -1705,7 +1706,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
sourceIds.AddRange(rectifyRecordIds);
|
||||
}
|
||||
}
|
||||
GetAutoNext(sourceIds, check, safeNoticeId, hand, handId, confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result);
|
||||
GetAutoNext(sourceIds, check, safeNoticeId, hand, handId,confirm, confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1740,13 +1741,13 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
}
|
||||
}
|
||||
}
|
||||
GetAutoNext(sourceIds,check, safeNoticeId,hand, handId, confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result);
|
||||
GetAutoNext(sourceIds,check, safeNoticeId,hand, handId, confirm,confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
}
|
||||
private void GetAutoNext(List<Guid> sourceIds, T_SK_SECURITY_INSPECTION_NOTICE check, Guid? safeNoticeId, T_SK_HIDDEN_DANGER_HAND_REPORT hand,Guid? handId, Guid? confirmId, List<Guid> safeRecordIds, Guid? safeRecordSumId, Guid? dangerReportId, T_SK_HIDDEN_DANGER_REPORT dangerReport, List<Guid> rectifyNoticeIds, List<Guid> rectifyRecordIds, List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords, ref List<OperateLog> result)
|
||||
private void GetAutoNext(List<Guid> sourceIds, T_SK_SECURITY_INSPECTION_NOTICE check, Guid? safeNoticeId, T_SK_HIDDEN_DANGER_HAND_REPORT hand,Guid? handId, T_SK_HIDDEN_DANGER_CONFIRM confirm,Guid? confirmId, List<Guid> safeRecordIds, Guid? safeRecordSumId, Guid? dangerReportId, T_SK_HIDDEN_DANGER_REPORT dangerReport, List<Guid> rectifyNoticeIds, List<Guid> rectifyRecordIds, List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords, ref List<OperateLog> result)
|
||||
{
|
||||
var approveIds = new List<Guid>();
|
||||
var approves = new List<T_PF_APPROVE>();
|
||||
@ -1777,7 +1778,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start.ID = safeNoticeId;
|
||||
start.CODE = "SK006_SHOWPRINT";
|
||||
start.USER_NAME = temp1.USER_NAME;
|
||||
start.NAME = temp1.NOTICE_STATUS == 4 ? "安全检查通知(系统归档)" : "安全检查通知";
|
||||
start.NAME = "安全检查通知";
|
||||
start.DEAL_DATE = temp1.TASK_DT;
|
||||
start.CREATE_TIME = temp1.CREATE_TIME;
|
||||
start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
@ -1790,7 +1791,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start.ID = check.ID;
|
||||
start.CODE = "SK006_SHOWPRINT";
|
||||
start.USER_NAME = checkUser.NAME;
|
||||
start.NAME = check.STATUS == PFStandardStatus.Close ? "安全检查通知(系统归档)" : "安全检查通知";
|
||||
start.NAME = "安全检查通知";
|
||||
start.DEAL_DATE = check.STATUS == PFStandardStatus.Draft ? null : check.MODIFY_TIME;
|
||||
start.CREATE_TIME = check.CREATE_TIME;
|
||||
start.STATUS = check.STATUS == PFStandardStatus.Close ? 15 : check.STATUS == PFStandardStatus.Draft ? 0 : 5;
|
||||
@ -1868,7 +1869,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start1.CODE = "SK006_SHOWPRINT";
|
||||
start1.USER_NAME = item.USER_NAME;
|
||||
start1.NAME = "安全检查通知确认";
|
||||
start1.DEAL_DATE = item.TASK_DT;
|
||||
start1.DEAL_DATE = item.NOTICE_STATUS == 4 ? item.MODIFY_TIME : item.TASK_DT;
|
||||
start1.CREATE_TIME = item.CREATE_TIME;
|
||||
start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
noticeLog.logList.Add(start1);
|
||||
@ -1884,7 +1885,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start1.CODE = "SK006_SHOWPRINT";
|
||||
start1.USER_NAME = item.USER_NAME;
|
||||
start1.NAME = "安全检查通知确认";
|
||||
start1.DEAL_DATE = item.TASK_DT;
|
||||
start1.DEAL_DATE = item.NOTICE_STATUS == 4 ? item.MODIFY_TIME : item.TASK_DT;
|
||||
start1.CREATE_TIME = item.CREATE_TIME;
|
||||
start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
noticeLog.logList.Add(start1);
|
||||
@ -1925,8 +1926,8 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start.ID = temp1.SOURCE_DATA_ID;
|
||||
start.CODE = "SK010_SHOWPRINT";
|
||||
start.USER_NAME = temp1.USER_NAME;
|
||||
start.NAME = temp1.NOTICE_STATUS == 4 ? "安全检查记录(系统归档)" : "安全检查记录";
|
||||
start.DEAL_DATE = temp1.TASK_DT;
|
||||
start.NAME = "安全检查记录";
|
||||
start.DEAL_DATE = temp1.NOTICE_STATUS == 4 ? temp1.MODIFY_TIME : temp1.TASK_DT; ;
|
||||
start.CREATE_TIME = temp1.CREATE_TIME;
|
||||
start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
recordLog.logList.Add(start);
|
||||
@ -1941,8 +1942,8 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
start.ID = temp1.SOURCE_DATA_ID;
|
||||
start.CODE = "SK010_SHOWPRINT";
|
||||
start.USER_NAME = temp1.USER_NAME;
|
||||
start.NAME = temp1.NOTICE_STATUS == 4 ? "安全检查记录(系统归档)" : "安全检查记录";
|
||||
start.DEAL_DATE = temp1.TASK_DT;
|
||||
start.NAME = "安全检查记录";
|
||||
start.DEAL_DATE = temp1.NOTICE_STATUS == 4 ? temp1.MODIFY_TIME : temp1.TASK_DT;
|
||||
start.CREATE_TIME = temp1.CREATE_TIME;
|
||||
start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
recordLog.logList.Add(start);
|
||||
@ -2103,12 +2104,12 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
var approveTemp = approves.FirstOrDefault(t => t.DATA_ID == dangerReportId);
|
||||
if (approveTemp == null)
|
||||
{
|
||||
//判断发起人层级,取审批模板
|
||||
var departFirst = departs.FirstOrDefault(t => t.ID == dangerReport.APPLY_DEPARTMENT_ID);
|
||||
var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departFirst.DEPARTMENT_TYPE);
|
||||
if (departFirst.DEPARTMENT_STATUS != 1)
|
||||
//判断重大还是一般,取审批模板
|
||||
var detailFirst =this.GetEntity<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t=>t.HIDDEN_DANGER_REPORT_ID == dangerReportId && t.HIDDEN_LEVEL == SKHiddenLevel.Major);
|
||||
var param = "一般";
|
||||
if (detailFirst != null)
|
||||
{
|
||||
param = "公司级";
|
||||
param = "重大";
|
||||
}
|
||||
var approveTempFirst = approveTemps.FirstOrDefault(t => t.PARAM == param && t.FORM_CODE == "SK014");
|
||||
if (approveTempFirst != null && approveTempFirst.Nav_ApproveTempDetails != null && approveTempFirst.Nav_ApproveTempDetails.Any())
|
||||
@ -2246,22 +2247,168 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
var handUser = users.FirstOrDefault(t => t.ID == hand.APPLY_USER_ID);
|
||||
#region 手动隐患上报
|
||||
OperateLog handLog = new OperateLog();
|
||||
handLog.FORM_NAME = "安全检查记录";
|
||||
handLog.FORM_NAME = "手动隐患上报";
|
||||
handLog.logList = new List<OperateLogList>();
|
||||
if (handId != null)
|
||||
{
|
||||
OperateLogList start = new OperateLogList();
|
||||
start.ID = handId;
|
||||
start.CODE = "SK016_SHOWPRINT";
|
||||
start.USER_NAME = handUser.NAME;
|
||||
start.NAME = "手动隐患上报";
|
||||
start.DEAL_DATE = hand.STATUS == PFStandardStatus.Draft ? null : hand.MODIFY_TIME;
|
||||
start.CREATE_TIME = check.CREATE_TIME;
|
||||
start.STATUS = hand.STATUS == PFStandardStatus.Draft ? 16 : 5;
|
||||
handLog.logList.Add(start);
|
||||
}
|
||||
OperateLogList start = new OperateLogList();
|
||||
start.ID = handId;
|
||||
start.CODE = "SK016_SHOWPRINT";
|
||||
start.USER_NAME = handUser.NAME;
|
||||
start.NAME = "手动隐患上报";
|
||||
start.DEAL_DATE = hand.STATUS == PFStandardStatus.Draft ? null : hand.MODIFY_TIME;
|
||||
start.CREATE_TIME = check.CREATE_TIME;
|
||||
start.STATUS = hand.STATUS == PFStandardStatus.Draft ? 16 : 5;
|
||||
handLog.logList.Add(start);
|
||||
#endregion
|
||||
#region 隐患确认单
|
||||
OperateLog confirmLog = new OperateLog();
|
||||
confirmLog.FORM_NAME = "隐患确认单";
|
||||
confirmLog.logList = new List<OperateLogList>();
|
||||
if (confirmId != null)
|
||||
{
|
||||
var temp1 = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == confirmId && !t.NOTICE_TITLE.Contains("确认"));
|
||||
OperateLogList start1 = new OperateLogList();
|
||||
start1.ID = confirmId;
|
||||
start1.CODE = "SK018_SHOWPRINT";
|
||||
start1.USER_NAME = temp1.USER_NAME;
|
||||
start1.NAME = "隐患确认单";
|
||||
start1.DEAL_DATE = temp1.TASK_DT;
|
||||
start1.CREATE_TIME = temp1.CREATE_TIME;
|
||||
start1.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
confirmLog.logList.Add(start1);
|
||||
//审批
|
||||
var approveTemp = approves.FirstOrDefault(t => t.DATA_ID == confirmId);
|
||||
if (approveTemp == null)
|
||||
{
|
||||
//判断发起人层级,取审批模板
|
||||
var param = confirm.HIDDEN_LEVEL.GetDescription();
|
||||
var approveTempFirst = approveTemps.FirstOrDefault(t => t.PARAM == param && t.FORM_CODE == "SK014");
|
||||
if (approveTempFirst != null && approveTempFirst.Nav_ApproveTempDetails != null && approveTempFirst.Nav_ApproveTempDetails.Any())
|
||||
{
|
||||
foreach (var item in approveTempFirst.Nav_ApproveTempDetails.OrderBy(t => t.NUM))
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = null;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = item.Nav_ApproveRole.NAME;
|
||||
start2.NAME = "隐患确认单审批";
|
||||
start2.DEAL_DATE = null;
|
||||
start2.CREATE_TIME = null;
|
||||
start2.STATUS = 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = null;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = "审批人";
|
||||
start2.NAME = "隐患确认单审批";
|
||||
start2.DEAL_DATE = null;
|
||||
start2.CREATE_TIME = null;
|
||||
start2.STATUS = 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp.ID).OrderBy(t => t.MODIFY_TIME).ThenBy(m => m.CREATE_TIME).ToList();
|
||||
if (tempApprove != null && tempApprove.Any())
|
||||
{
|
||||
foreach (var item in tempApprove)
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = approveTemp.DATA_ID;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = item.USER_NAME;
|
||||
start2.NAME = item.NOTICE_TITLE.Contains("驳回") ? "隐患确认单已被驳回" : "隐患确认单审批";
|
||||
start2.DEAL_DATE = item.TASK_DT;
|
||||
start2.CREATE_TIME = item.CREATE_TIME;
|
||||
start2.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
}
|
||||
var temp2 = tasks.Where(t => t.SOURCE_DATA_ID == confirmId && t.NOTICE_TITLE.Contains("确认")).OrderBy(m => m.MODIFY_TIME).ThenBy(n => n.CREATE_TIME).ToList();
|
||||
if (temp2 != null && temp2.Any())
|
||||
{
|
||||
var temp3 = temp2.Where(t => t.NOTICE_STATUS == 1).OrderBy(m => m.MODIFY_TIME).ToList();
|
||||
if (temp3 != null && temp3.Any())
|
||||
{
|
||||
foreach (var item in temp3)
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = confirmId;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = item.USER_NAME;
|
||||
start2.NAME = "隐患确认单确认";
|
||||
start2.DEAL_DATE = item.TASK_DT;
|
||||
start2.CREATE_TIME = item.CREATE_TIME;
|
||||
start2.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
|
||||
var temp4 = temp2.Where(t => t.NOTICE_STATUS != 1).OrderByDescending(n => n.NOTICE_STATUS).ThenBy(m => m.MODIFY_TIME).ToList();
|
||||
if (temp3 != null && temp3.Any())
|
||||
{
|
||||
foreach (var item in temp4)
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = confirmId;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = item.USER_NAME;
|
||||
start2.NAME = "隐患确认单确认";
|
||||
start2.DEAL_DATE = item.TASK_DT;
|
||||
start2.CREATE_TIME = item.CREATE_TIME;
|
||||
start2.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = null;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = "整改责任人";
|
||||
start2.NAME = "隐患确认单确认";
|
||||
start2.DEAL_DATE = null;
|
||||
start2.CREATE_TIME = null;
|
||||
start2.STATUS = 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OperateLogList start1 = new OperateLogList();
|
||||
start1.ID = null;
|
||||
start1.CODE = "SK018_SHOWPRINT";
|
||||
start1.USER_NAME = "班长/上报人";
|
||||
start1.NAME = "隐患确认单";
|
||||
start1.DEAL_DATE = null;
|
||||
start1.CREATE_TIME = null;
|
||||
start1.STATUS = 0;
|
||||
confirmLog.logList.Add(start1);
|
||||
OperateLogList start2 = new OperateLogList();
|
||||
start2.ID = null;
|
||||
start2.CODE = "SK018_SHOWPRINT";
|
||||
start2.USER_NAME = "审批人";
|
||||
start2.NAME = "隐患确认单审批";
|
||||
start2.DEAL_DATE = null;
|
||||
start2.CREATE_TIME = null;
|
||||
start2.STATUS = 0;
|
||||
confirmLog.logList.Add(start2);
|
||||
OperateLogList start3 = new OperateLogList();
|
||||
start3.ID = null;
|
||||
start3.CODE = "SK018_SHOWPRINT";
|
||||
start3.USER_NAME = "整改责任人";
|
||||
start3.NAME = "隐患确认单确认";
|
||||
start3.DEAL_DATE = null;
|
||||
start3.CREATE_TIME = null;
|
||||
start3.STATUS = 0;
|
||||
confirmLog.logList.Add(start3);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#region 隐患整改通知
|
||||
|
||||
Loading…
Reference in New Issue
Block a user