代码同步

This commit is contained in:
wyw 2024-03-25 13:56:33 +08:00
parent 94ec5a79d7
commit da6b543781
22 changed files with 62802 additions and 76 deletions

View File

@ -52,7 +52,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// <param name="dicApproveDepartMentID">自定义审批流程人员部门信息</param>
/// <param name="approveTaskName">审批流名称</param>
/// <returns></returns>
void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null);
void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? BSOperateEnum = null);
/// <summary>
/// 发布审批流

View File

@ -228,7 +228,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// </summary>
/// <param name="id">消息ID</param>
/// <returns></returns>
List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List<Guid> UserId, List<string> userName,
List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List<Guid> UserId, List<string> userName,
DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null);
/// <summary>
/// 发送新消息集合返回实体集合

View File

@ -56,7 +56,7 @@ namespace APT.BaseData.Domain.IServices
/// <param name="CALLBACK_INTERFACE"></param>
/// <param name="listDATA_ID"></param>
/// <returns></returns>
bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity);
bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity, bool isApprovel = true);
}
}

View File

@ -111,14 +111,14 @@ namespace APT.BaseData.Services.Services.FM
{
return dep;
}
else if (dep.Nav_Parent.DEPARTMENT_TYPE == 0)
{
return dep.Nav_Parent;
}
else if (dep.DEPARTMENT_TYPE == 3)
{
return dep;
}
else if (dep.Nav_Parent.DEPARTMENT_TYPE == 0)
{
return dep.Nav_Parent;
}
else
{
if (!dep.Nav_Parent.PARENT_ID.HasValue)

View File

@ -14,6 +14,8 @@ using System.Linq.Expressions;
using Newtonsoft.Json;
using APT.MS.Domain.Entities.PF;
using InfluxData.Net.InfluxDb.Models.Responses;
using APT.BaseData.Domain.IServices.BS;
using APT.MS.Domain.Entities.BS;
namespace APT.BaseData.Services.Services.FM
{
@ -26,15 +28,16 @@ namespace APT.BaseData.Services.Services.FM
IFMNotificationTaskService NotificationTaskService { get; set; }
IPFSysLogService SysLogService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; }
IBSOperateLogService BSOperateLogService { get; set; }
public FMFlowPermitService(IRepository repository, IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService)
public FMFlowPermitService(IRepository repository, IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService, IBSOperateLogService bsOperateLogService)
: base(repository)
{
CodeRuleService = codeRuleService;
NotificationTaskService = notificationTaskService;
SysLogService = sysLogService;
ApproveCallBackService = approveCallBackService;
BSOperateLogService = bsOperateLogService;
}
/// <summary>
@ -315,7 +318,7 @@ namespace APT.BaseData.Services.Services.FM
/// <param name="operaterID"></param>
/// <param name="approveTaskName">审批流名称</param>
/// <returns></returns>
public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null)
public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null)
{
T_PF_APPROVE approve = null;
//上个消息
@ -330,7 +333,7 @@ namespace APT.BaseData.Services.Services.FM
}
string CALLBACK_INTERFACE = string.Empty;
List<string> listDATA_ID = new List<string>();
List<T_BS_OPERATE_LOG> listBSLog = null;
if (sendMessage || approveId != null)// wyw 添加 || approveId != null 先添加审批流 但是不发送通知
{
Expression<Func<T_PF_APPROVE_TEMP, bool>> express = t => t.FORM_CODE == fromCode && t.ENABLE_STATUS == (int)FMEnableStatusEnum.;
@ -443,6 +446,7 @@ namespace APT.BaseData.Services.Services.FM
if (detail.APPROVE_USER_ID != null)
appdetails.Add(detail);
});
appdetails.OrderBy(t => t.NUM);
var loginUser = users.FirstOrDefault(t => t.ID == loginUserId);
var departUser = this.GetEntity<T_FM_DEPARTMENT>(t => (t.USER_ID == loginUserId || t.CHARGEUSER_ID == loginUserId) && (t.NAME.Contains("安全环保") || t.NAME.Contains("安环部")));
if (departUser != null || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部负责人")) || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部安全员")))
@ -490,15 +494,15 @@ namespace APT.BaseData.Services.Services.FM
var sendUserId = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).FirstOrDefault();
//var sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
var ue= users.Where(i => i.ID == sendUserId).FirstOrDefault();
var ue = users.Where(i => i.ID == sendUserId).FirstOrDefault();
string sendUserName = string.Empty;
if (ue!=null)
if (ue != null)
{
sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
}
else
{
sendUserName = GetEntity<T_FM_USER>(t=>t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
sendUserName = GetEntity<T_FM_USER>(t => t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
}
string taskName = approveTaskName;
@ -561,6 +565,35 @@ namespace APT.BaseData.Services.Services.FM
e.DEFAULT_APPROVE_USER_ID = null;
});
}
if (iBSOperateEnum.HasValue && appdetails != null && appdetails.Any())
{
try
{
OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
List<Guid> ListUserID = new List<Guid>();
List<string> ListUserName = new List<string>();
foreach (var item in appdetails)
{
if (item.APPROVE_USER_ID.HasValue)
{
ListUserID.Add(item.APPROVE_USER_ID.Value);
}
}
if (ListUserID.Count > 0)
{
var listUser = GetEntities<T_FM_USER>(e => ListUserID.Contains(e.ID));
for (int i = 0; i < ListUserID.Count; i++)
{
ListUserName.Add(listUser.FirstOrDefault(e => e.ID == ListUserID[i])?.NAME);
}
}
listBSLog = BSOperateLogService.GetListOperateLog(OPERATEPOINT, id, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, approve.ORG_ID, null, null);
}
catch { }
}
}
this.UnifiedCommit(() =>
{
@ -574,6 +607,8 @@ namespace APT.BaseData.Services.Services.FM
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (notice != null)
AddEntityNoCommit(notice);
if (listBSLog != null && listBSLog.Any())
BantchSaveEntityNoCommit(listBSLog);//有修改和新增
});
//如果 审批流需要执行默认审批 调用 回调方法
@ -1421,10 +1456,29 @@ namespace APT.BaseData.Services.Services.FM
//回调方法写在之后 不然之前数据都没有保存到数据库 原有的方法不能使用
if (!string.IsNullOrEmpty(CALLBACK_INTERFACE) && listDATA_ID.Count > 0)
{
this.UnifiedCommit(() =>
if (CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckAuditEnd" || CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckPlanAuditEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmit/Notice" ||
CALLBACK_INTERFACE == "BS/BSRiskSubmit/DealEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmitDelayApply/DealEnd" || CALLBACK_INTERFACE == "FO/FOJobEventRecord/BackUpdate")
{
ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID);
});
CALLBACK_INTERFACE = CALLBACK_INTERFACE + "New";
foreach (var item in listApprove)
{
if (item.APPROVE_STATUS == 10)
{
this.UnifiedCommit(() =>
{
ApproveCallBackService.CallBackNew(CALLBACK_INTERFACE, item, false);
});
}
}
}
else
{
this.UnifiedCommit(() =>
{
ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID);
});
}
}
}
@ -1505,14 +1559,17 @@ namespace APT.BaseData.Services.Services.FM
}
else
{
var dep = GetEntity<T_FM_DEPARTMENT>(user.DEPARTMENT_ID.Value);
if (dep != null)
if (user.Nav_Department != null && user.Nav_Department.DEPARTMENT_TYPE == 0)
{
if (dep.USER_ID.HasValue)
{ approveId = dep.USER_ID.Value; }
else if (dep.CHARGEUSER_ID.HasValue)
{ approveId = dep.CHARGEUSER_ID.Value; }
break;
var dep = GetEntity<T_FM_DEPARTMENT>(user.DEPARTMENT_ID.Value);
if (dep != null)
{
if (dep.USER_ID.HasValue)
{ approveId = dep.USER_ID.Value; }
else if (dep.CHARGEUSER_ID.HasValue)
{ approveId = dep.CHARGEUSER_ID.Value; }
break;
}
}
}
}

View File

@ -205,7 +205,7 @@ namespace APT.BaseData.Services.Services.FM
{
UnifiedCommit(() =>
{
BantchUpdateEntityNoCommit(listNoticeSend);
BantchSaveEntityNoCommit(listNoticeSend);//BantchUpdateEntityNoCommit(listNoticeSend); 得升级 不然报错
if (task != null)
{
UpdateEntityNoCommit(task);
@ -221,7 +221,7 @@ namespace APT.BaseData.Services.Services.FM
{
item.TRYCOUNT++;
}
BantchUpdateEntityNoCommit(listChange);
BantchSaveEntityNoCommit(listChange); //BantchUpdateEntityNoCommit(listChange);
if (task != null)
{
UpdateEntityNoCommit(task);

View File

@ -418,7 +418,7 @@ namespace APT.BaseData.Services.Services.FM
var task = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.ID == id && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.);
if (task == null)
{
GetEntity<T_FM_NOTIFICATION_TASK>(t => t.USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.);
task = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.);
}
if (task != null)
{
@ -475,7 +475,7 @@ namespace APT.BaseData.Services.Services.FM
/// </summary>
/// <param name="id">消息ID</param>
/// <returns></returns>
public List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List<Guid> UserIds, List<string> UserNames,
public List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List<Guid> UserIds, List<string> UserNames,
DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null)
{
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();

View File

@ -5411,7 +5411,7 @@ namespace APT.BaseData.Services.DomainServices
/// <param name="entityInt">审批入参</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entityInt)
public bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entityInt, bool isApprovel = true)
{
bool result = false;
if (!string.IsNullOrEmpty(CALLBACK_INTERFACE))
@ -5424,8 +5424,11 @@ namespace APT.BaseData.Services.DomainServices
List<T_FM_NOTIFICATION_TASK> listTaskNext = null;
string taskCodeCheck = String.Empty;
bool isLast = false;//非审批最后一步
bool resultGetApp = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
bool resultGetApp = true;
if (isApprovel)
{
resultGetApp = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
}
if (!resultGetApp)
{
throw new Exception("审批失败!");
@ -5433,7 +5436,7 @@ namespace APT.BaseData.Services.DomainServices
#endregion
if (!isLast)
if (!isLast && isApprovel)
{
//如果感觉taskID会乱 taskFinish 做case 判断
this.UnifiedCommit(() =>
@ -5459,7 +5462,7 @@ namespace APT.BaseData.Services.DomainServices
result = CheckAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
break;
case "BS/BSRiskSubmit/NoticeNew":
result = NoticeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
result = NoticeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel);
break;
case "BS/BSRiskSubmit/DealEndNew":
result = DealEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
@ -6758,11 +6761,11 @@ namespace APT.BaseData.Services.DomainServices
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> listTaskNext, bool isLast = false)
private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> listTaskNext, bool isLast = false, bool isApprovel = true)
{
#region
if (modelApp == null)
if (modelApp == null && isApprovel)
{
string taskCodeCheck = String.Empty;
bool result = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
@ -6774,7 +6777,7 @@ namespace APT.BaseData.Services.DomainServices
#endregion
if (!isLast)
if (!isLast && isApprovel)
{
this.UnifiedCommit(() =>
{
@ -6926,7 +6929,7 @@ namespace APT.BaseData.Services.DomainServices
{
listUserName.Add(item.Nav_UserDeal.NAME);//Nav_UserCheck
}//listUserName.Add(item.Nav_User.NAME);
listName.Add("整改责任人确认" + entity.NAME);// temp.NAME
listName.Add("整改责任人指定落实人" + entity.NAME);// temp.NAME
}
}
else
@ -7250,8 +7253,10 @@ namespace APT.BaseData.Services.DomainServices
//给隐患上报隐患通知责任人 发送待办
if (isNoticeCheck)
{
//listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");
listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum., "BS042_SHOWPRINT");
//listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");
//整改责任人 指定 整改落实人
listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum., "BS074");
}
else
{
@ -7261,14 +7266,17 @@ namespace APT.BaseData.Services.DomainServices
UnifiedCommit(() =>
{
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库
BantchSaveEntityNoCommit(listAppDetail);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNext);
if (isApprovel)
{
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库
BantchSaveEntityNoCommit(listAppDetail);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNext);
}
if (entityMain != null)//审批结束 如果隐患上报 全部明细都审批完成 登记完成时间
UpdateEntityNoCommit(entityMain);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,64 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class wyw2024032501 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "T_BS_OPERATE_LOG",
columns: table => new
{
ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
LOGTYPE = table.Column<int>(type: "int", nullable: false),
DATA_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
DATA_ID_SUB = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
OPERATEPOINT = table.Column<int>(type: "int", nullable: false),
USER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
USRTNAME = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
ORDERNO = table.Column<int>(type: "int", nullable: false),
OPERTETIME = table.Column<DateTime>(type: "datetime2", nullable: true),
ISINTTIME = table.Column<bool>(type: "bit", nullable: true),
IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_BS_OPERATE_LOG", x => x.ID);
table.ForeignKey(
name: "FK_T_BS_OPERATE_LOG_T_FM_ORGANIZATION_ORG_ID",
column: x => x.ORG_ID,
principalTable: "T_FM_ORGANIZATION",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_T_BS_OPERATE_LOG_ORG_ID",
table: "T_BS_OPERATE_LOG",
column: "ORG_ID");
migrationBuilder.CreateIndex(
name: "IX_T_BS_OPERATE_LOG_USER_ID",
table: "T_BS_OPERATE_LOG",
column: "USER_ID");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "T_BS_OPERATE_LOG");
}
}
}

View File

@ -18695,9 +18695,6 @@ namespace APT.Data.Migrations.Migrations
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<DateTime?>("LastDateSystem")
.HasColumnType("datetime2");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
@ -18973,6 +18970,81 @@ namespace APT.Data.Migrations.Migrations
b.ToTable("T_BS_DEPARTMENT_AREAOBJECT");
});
modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_OPERATE_LOG", b =>
{
b.Property<Guid>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CREATER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("CREATE_TIME")
.HasColumnType("datetime2");
b.Property<Guid>("DATA_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("DATA_ID_SUB")
.HasColumnType("uniqueidentifier");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
b.Property<Guid?>("FLOW_ID")
.HasColumnType("uniqueidentifier");
b.Property<int>("FLOW_SEND_STATUS")
.HasColumnType("int");
b.Property<int>("FLOW_STATUS")
.HasColumnType("int");
b.Property<Guid?>("FORM_ID")
.HasColumnType("uniqueidentifier");
b.Property<bool?>("ISINTTIME")
.HasColumnType("bit");
b.Property<bool>("IS_DELETED")
.HasColumnType("bit");
b.Property<int>("LOGTYPE")
.HasColumnType("int");
b.Property<Guid?>("MODIFIER_ID")
.HasColumnType("uniqueidentifier");
b.Property<DateTime?>("MODIFY_TIME")
.HasColumnType("datetime2");
b.Property<int>("OPERATEPOINT")
.HasColumnType("int");
b.Property<DateTime?>("OPERTETIME")
.HasColumnType("datetime2");
b.Property<int>("ORDERNO")
.HasColumnType("int");
b.Property<Guid?>("ORG_ID")
.IsRequired()
.HasColumnType("uniqueidentifier");
b.Property<Guid>("USER_ID")
.HasColumnType("uniqueidentifier");
b.Property<string>("USRTNAME")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.HasKey("ID");
b.HasIndex("ORG_ID");
b.ToTable("T_BS_OPERATE_LOG");
});
modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_PLAN_SET", b =>
{
b.Property<Guid>("ID")
@ -19503,12 +19575,6 @@ namespace APT.Data.Migrations.Migrations
b.Property<Guid?>("CHECK_QUESTION_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CHECK_TYPE_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CHECK_TYPE_LEVEL_ID")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CHECK_USER_ID")
.HasColumnType("uniqueidentifier");
@ -19551,7 +19617,8 @@ namespace APT.Data.Migrations.Migrations
.HasColumnType("nvarchar(500)");
b.Property<string>("DESCRIBE")
.HasColumnType("nvarchar(max)");
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<int>("ENTITY_ORG_TPYE")
.HasColumnType("int");
@ -19655,9 +19722,6 @@ namespace APT.Data.Migrations.Migrations
b.Property<DateTime?>("SUBMITFINISHTIME")
.HasColumnType("datetime2");
b.Property<int?>("SUBMIT_STATUS")
.HasColumnType("int");
b.Property<Guid?>("USER_ID")
.HasColumnType("uniqueidentifier");
@ -50107,6 +50171,17 @@ namespace APT.Data.Migrations.Migrations
b.Navigation("Nav_Org");
});
modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_OPERATE_LOG", b =>
{
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany()
.HasForeignKey("ORG_ID")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Nav_Org");
});
modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_PLAN_SET", b =>
{
b.HasOne("APT.MS.Domain.Entities.BS.T_BS_CHECK_TYPE", "Nav_CheckType")

View File

@ -258,6 +258,16 @@ builder.HasOne(t => t.Nav_Enums).WithMany().HasForeignKey(t => t.MINETYPE_ENUMS_
builder.Ignore(t => t.ISDOWNSAME);
builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENTID).OnDelete(DeleteBehavior.Restrict);
}
}
#endregion
#region OperateLog
public partial class BSOperateLogMap :APTEntityBaseMap<T_BS_OPERATE_LOG>
{
public override void Configure(EntityTypeBuilder<T_BS_OPERATE_LOG> builder)
{
base.Configure(builder);
builder.Property(t => t.USRTNAME).HasMaxLength(500);
}
}
#endregion
#region PlanSet
@ -385,6 +395,7 @@ builder.Property(t => t.DESCRIBE).HasMaxLength(500);
builder.Ignore(t => t.CHECK_TYPE_ID);
builder.Ignore(t => t.CHECK_TYPE_LEVEL_ID);
builder.Ignore(t => t.SUBMIT_STATUS);
builder.Ignore(t => t.CREATE_NAME);
}
}
#endregion

View File

@ -0,0 +1,71 @@
using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace APT.MS.Domain.Entities.BS
{
/// <summary>
/// 检查内容
/// </summary>
[Description("操作日志")]
public class T_BS_OPERATE_LOG : MesEntityBase
{
/// <summary>
/// 操作类型 安全检查/隐患上报(对应的 DATA_ID 不一样)
/// </summary>
[Description("操作类型")]
public LOGTYPE_Enums LOGTYPE { get; set; }
/// <summary>
/// 表单ID
/// </summary>
[Description("表单ID")]
public Guid DATA_ID { get; set; }
/// <summary>
/// 表单明细ID
/// </summary>
[Description("表单明细ID")]
public Guid? DATA_ID_SUB { get; set; }
/// <summary>
/// 操作节点
/// </summary>
[Description("操作节点")]
public OPERATEPOINT_Enums OPERATEPOINT { get; set; }
/// <summary>
/// 操作人(需要操作的人)
/// </summary>
[Description("操作人")]
public Guid USER_ID { get; set; }
/// <summary>
/// 操作人
/// </summary>
[Description("操作人")]
public string USRTNAME { get; set; }
/// <summary>
/// 排序 比如审批 可能多节点
/// </summary>
[Description("排序")]
public int ORDERNO { get; set; }
/// <summary>
/// 操作时间
/// </summary>
[Description("操作时间")]
public DateTime? OPERTETIME { get; set; }
/// <summary>
/// 是否超时
/// </summary>
[Description("是否超时")]
public bool? ISINTTIME { get; set; }
}
}

View File

@ -552,5 +552,13 @@ namespace APT.MS.Domain.Entities.BS
[Description("状态")]
[DataFieldIngore]
public int? SUBMIT_STATUS { get; set; }
/// <summary>
/// 状态 BS073
/// </summary>
[Description("状态")]
[DataFieldIngore]
public string CREATE_NAME { get; set; }
}
}

View File

@ -442,7 +442,7 @@ namespace APT.MS.Domain.Enums
/// 文件审核表 170
/// </summary>
[Description("文件审核表")]
ToWJSH =170,
ToWJSH = 170,
}
/// <summary>
@ -1379,4 +1379,103 @@ namespace APT.MS.Domain.Enums
}
#endregion
public enum LOGTYPE_Enums
{
/// <summary>
/// 安全检查 10
/// </summary>
[Description("安全检查")]
SafeCheck = 10,
/// <summary>
/// 隐患上报 20
/// </summary>
[Description("隐患上报")]
RiskSubmit = 20
}
/// <summary>
/// 操作节点
/// </summary>
public enum OPERATEPOINT_Enums
{
/// <summary>
/// 表单获取 10
/// </summary>
[Description("表单获取")]
GotCheck = 10,
/// <summary>
/// 检查任务制定 20
/// </summary>
[Description("检查任务制定")]
CheckForm = 20,
/// <summary>
/// 检查任务审批 30
/// </summary>
[Description("检查任务审批")]
CheckAudit = 30,
/// <summary>
/// 检查任务确认 40
/// </summary>
[Description("检查任务确认")]
CheckerCheck = 40,
/// <summary>
/// 检查登记 50
/// </summary>
[Description("检查登记")]
CheckRegister = 50,
/// <summary>
/// 检查结果确认
/// </summary>
[Description("检查结果确认")]
CheckAgree = 60,
/// <summary>
/// 检查记录审批 70
/// </summary>
[Description("检查记录审批")]
CheckResultAudit = 70,
/// <summary>
/// 检查记录归档 80
/// </summary>
[Description("检查记录归档")]
CheckEnd = 80,
/// <summary>
/// 手动隐患上报草稿 90
/// </summary>
[Description("手动隐患上报草稿")]
RiskNoticeSD = 90,
/// <summary>
/// 手动隐患上报 100
/// </summary>
[Description("手动隐患上报")]
RiskUpSD = 100,
/// <summary>
/// 手动隐患上报完善 110
/// </summary>
[Description("手动隐患上报完善")]
RiskInfoCompleteSD = 110,
/// <summary>
/// 隐患待上报 120
/// </summary>
[Description("隐患待上报")]
RiskGet = 120,
/// <summary>
/// 隐患上报 130
/// </summary>
[Description("隐患上报")]
RiskSend =130,
}
}

View File

@ -0,0 +1,27 @@
using APT.MS.Domain.Entities.BS;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
namespace APT.BaseData.Domain.IServices.BS
{
public interface IBSOperateLogService
{
/// <summary>
/// 直接添加多个操作
/// 或者 一个操作 引起多个后续操作人
/// </summary>
/// <param name="OPERATEPOINT">操作的节点</param>
/// <param name="DATA_ID">SafeCheckID RiskSubmitID</param>
/// <param name="UserIDLogin">登入人ID</param>
/// <param name="ListDATA_ID">可为null与 DATA_ID 只有一个</param>
/// <param name="ListUserID">可为null</param>
/// <param name="ListUserName">可为null</param>
/// <param name="ORG_ID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <param name="ListUserIDDone">默认操作通过的</param>
/// <param name="isEnd"></param>
/// <returns></returns>
List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true);
}
}

View File

@ -0,0 +1,245 @@
using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using System;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.IServices.FM;
using APT.Infrastructure.Api;
using System.Collections.Generic;
using System.Linq;
using APT.MS.Domain.Enums;
using APT.BaseData.Domain.Enums.PF;
using APT.BaseData.Domain.IServices;
using System.Linq.Expressions;
using Newtonsoft.Json;
using APT.BaseData.Domain.IServices.BS;
using APT.MS.Domain.Entities.BS;
namespace APT.BaseData.Services.Services.BS
{
/// <summary>
/// 安全检查
/// </summary>
public class BSOperateLogService : CommonService, IBSOperateLogService
{
public BSOperateLogService(IRepository repository) : base(repository)
{
}
/// <summary>
/// 直接添加多个操作
/// 或者 一个操作 引起多个后续操作人
/// </summary>
/// <param name="OPERATEPOINT">操作的节点</param>
/// <param name="DATA_ID">SafeCheckID RiskSubmitID</param>
/// <param name="UserIDLogin">登入人ID</param>
/// <param name="ListDATA_ID">可为null与 DATA_ID 只有一个</param>
/// <param name="ListUserID">可为null</param>
/// <param name="ListUserName">可为null</param>
/// <param name="ORG_ID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <param name="ListUserIDDone">默认操作通过的</param>
/// <param name="isEnd"></param>
/// <returns></returns>
public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true)
{
List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
T_BS_OPERATE_LOG modelLogUpdate = null;
switch (OPERATEPOINT)
{
case OPERATEPOINT_Enums.GotCheck:
//系统触发 只是新增
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++)
listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.CheckForm:
//BS032保存并发送 到审批流
modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin);
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++)
listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.CheckAudit:
modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的待办日志
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++)//最后一个审批人 添加 通知
listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.CheckerCheck:
modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
break;
case OPERATEPOINT_Enums.CheckRegister:
//检查登记
modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++) //发起检查结果确认
listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.CheckAgree:
modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++) //检查结果确认完 直接到审批
listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.CheckResultAudit:
modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (isEnd) //最后一个审批就归档
{
listResult.Add(AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID));
}
break;
case OPERATEPOINT_Enums.CheckEnd:
//此处没操作
break;
case OPERATEPOINT_Enums.RiskNoticeSD:
break;
case OPERATEPOINT_Enums.RiskUpSD:
break;
case OPERATEPOINT_Enums.RiskInfoCompleteSD:
break;
case OPERATEPOINT_Enums.RiskGet:
//审批结束后 如果有隐患
if (ListUserID != null && ListUserName != null)
for (int i = 0; i < ListUserID.Count; i++)
listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
break;
case OPERATEPOINT_Enums.RiskSend:
break;
default:
break;
}
if (ListUserIDDone != null && ListUserIDDone.Count > 0)
{
//除了登陆者 需要默认操作的
listResult.ForEach(e =>
{
if (ListUserIDDone.Contains(e.USER_ID))
e.OPERTETIME = DateTime.Now;
});
}
return listResult;
}
/// <summary>
/// 获取新记录
/// </summary>
/// <param name="OPERATEPOINT"></param>
/// <param name="DATA_ID"></param>
/// <param name="UserID"></param>
/// <param name="UserName"></param>
/// <param name="ORG_ID"></param>
/// <returns></returns>
private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0)
{
T_BS_OPERATE_LOG ModelAdd = new T_BS_OPERATE_LOG()
{
ID = Guid.NewGuid(),
ORG_ID = ORG_ID,
LOGTYPE = ((int)OPERATEPOINT) > 80 ? LOGTYPE_Enums.RiskSubmit : LOGTYPE_Enums.SafeCheck,
DATA_ID = DATA_ID,
//DATA_ID_SUB = null,
OPERATEPOINT = OPERATEPOINT,
USER_ID = UserID,
USRTNAME = UserName,
ORDERNO = ORDERNO,
//OPERTETIME = null,
ISINTTIME = false,
CREATE_TIME = DateTime.Now,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID
};
if (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID)
{
ModelAdd.OPERTETIME = DateTime.Now;//默认通过
}
return ModelAdd;
}
/// <summary>
/// 获取需要修改的Model
/// </summary>
/// <param name="OPERATEPOINT">操作节点</param>
/// <param name="DATA_ID"></param>
/// <param name="UserID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <returns></returns>
private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null)
{
Expression<Func<T_BS_OPERATE_LOG, bool>> expression = e => e.DATA_ID == DATA_ID && e.OPERATEPOINT == OPERATEPOINT && e.USER_ID == UserID;
if (DATA_ID_SUB.HasValue)
expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
var model = GetEntity(expression);
model.OPERTETIME = DateTime.Now;
return model;
}
///// <summary>
///// 关闭上一个操作,添加新的操作
///// </summary>
///// <param name="OPERATEPOINT">当前操作节点</param>
///// <param name="DATA_ID"></param>
///// <param name="UserID"></param>
///// <param name="UserName"></param>
///// <returns></returns>
//public List<T_BS_OPERATE_LOG> GetOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, Guid? DATA_ID_SUB, bool isNext = true)
//{
// T_BS_OPERATE_LOG modelLogUpdate = null;
// T_BS_OPERATE_LOG modelLogAdd = null;
// switch (OPERATEPOINT)
// {
// case OPERATEPOINT_Enums.GotCheck:
// //系统触发 只是新增
// modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
// break;
// case OPERATEPOINT_Enums.CheckForm:
// modelLogUpdate = GetUpdate(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserID, DATA_ID_SUB);
// modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
// break;
// case OPERATEPOINT_Enums.CheckAudit:
// break;
// case OPERATEPOINT_Enums.CheckerCheck:
// break;
// case OPERATEPOINT_Enums.CheckRegister:
// break;
// case OPERATEPOINT_Enums.CheckAgree:
// break;
// case OPERATEPOINT_Enums.CheckResultAudit:
// break;
// case OPERATEPOINT_Enums.CheckEnd:
// break;
// case OPERATEPOINT_Enums.RiskNotice:
// break;
// case OPERATEPOINT_Enums.RiskUp:
// break;
// case OPERATEPOINT_Enums.RiskInfoComplete:
// break;
// case OPERATEPOINT_Enums.RiskGet:
// break;
// case OPERATEPOINT_Enums.RiskSend:
// break;
// default:
// break;
// }
// return new List<T_BS_OPERATE_LOG>() { modelLogAdd ?? modelLogAdd, modelLogUpdate ?? modelLogUpdate };
//}
}
}

View File

@ -56,6 +56,7 @@ namespace APT.BS.WebApi.App_Start
builder.RegisterType<ExtConnConfigService>().As<IExtConnConfigService>().InstancePerLifetimeScope();
builder.RegisterType<FMNotificationTaskService>().As<IFMNotificationTaskService>().InstancePerLifetimeScope();
builder.RegisterType<BSSafeCheckService>().As<IBSSafeCheckService>().InstancePerLifetimeScope();
builder.RegisterType<BSOperateLogService>().As<IBSOperateLogService>().InstancePerLifetimeScope();
}
}
}

View File

@ -32,16 +32,52 @@ namespace APT.BS.WebApi.Controllers.Api
ApproveCallBackService = approveCallBackService;
}
/// <summary>
/// 获得单条实体数据
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("GetDevlp")]
public JsonActionResult<T_BS_RISK_SUBMIT_CONTENT> GetDevlp([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
var model = GetEntity<T_BS_RISK_SUBMIT_CONTENT>(null, filter, null);
if (model.CREATER_ID.HasValue)
{
var userUp = GetEntity<T_FM_USER>(model.CREATER_ID.Value);
model.CREATE_NAME = userUp.NAME;
}
return model;
});
}
/// <summary>
/// 排序分页查询数据
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> OrderPaged([FromBody] KeywordPageFilter pageFilter)
[HttpPost, Route("OrderPagedDevlp")]
public PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> OrderPagedDevlp([FromBody] KeywordPageFilter pageFilter)
{
return WitOrderPaged(e => e.Nav_Submit.SUBMIT_TYPE != 10, pageFilter);
return SafeGetPagedData(delegate (PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> result)
{
PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> orderPageEntities = GetOrderPageEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.Nav_Submit.SUBMIT_TYPE != 10, pageFilter, null);
if (orderPageEntities.TotalCount > 0)
{
var listUserID = orderPageEntities.Data.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct();
var listUsers = GetEntities<T_FM_USER>(e => listUserID.Contains(e.ID), null, null);
foreach (var item in orderPageEntities.Data)
{
if (item.CREATER_ID.HasValue)
item.CREATE_NAME = listUsers.FirstOrDefault(e => e.ID == item.CREATER_ID.Value)?.NAME;
else
item.CREATE_NAME = "";
}
}
result.Data = orderPageEntities.Data;
result.TotalCount = orderPageEntities.TotalCount;
});
}
}
}

View File

@ -611,17 +611,22 @@ namespace APT.BS.WebApi.Controllers.Api
{
var listRoleID = listRole.Select(e => e.ID);
var listHeader = GetEntities<T_FM_USER>(e => listDepID.Contains(e.DEPARTMENT_ID.Value) && e.APPROVE_ROLE_ID.HasValue && listRoleID.Contains(e.APPROVE_ROLE_ID.Value), null, null);
foreach (var item in list)
if (listHeader != null && listHeader.Any())
{
if (item.DEPARTMENT_ID.HasValue)
foreach (var item in list)
{
var depThis = listDeps.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID.Value);
if (depThis != null && depThis.PARENT_ID.HasValue)
if (item.DEPARTMENT_ID.HasValue)
{
T_FM_USER userTemp = listHeader.FirstOrDefault(x => x.DEPARTMENT_ID == depThis.PARENT_ID.Value);
item.CHECK_USER_ID = userTemp.ID;
item.Nav_UserCheck = userTemp;
var depThis = listDeps.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID.Value);
if (depThis != null && depThis.PARENT_ID.HasValue)
{
T_FM_USER userTemp = listHeader.FirstOrDefault(x => x.DEPARTMENT_ID == depThis.PARENT_ID.Value);
if (userTemp != null)
{
item.CHECK_USER_ID = userTemp.ID;
item.Nav_UserCheck = userTemp;
}
}
}
}
}
@ -5331,7 +5336,7 @@ namespace APT.BS.WebApi.Controllers.Api
modelNotice.ID = Guid.NewGuid();
modelNotice.CODE = entity.CODE + "_" + (listParam.Count() + 1).ToString();
modelNotice.NAME = entity.NAME + ((BSQuestionLevelEnum)item.QUESTION_LEVEL).GetDescription() + "级隐患";
modelNotice.NAME = entity.NAME + ((BSQuestionLevelEnum)item.QUESTION_LEVEL).GetDescription() + "级隐患";
modelNotice.RISK_SUBMIT_ID = item.RISK_SUBMIT_ID.Value;
modelNotice.QUESTION_LEVEL = item.QUESTION_LEVEL;
modelNotice.NOTICETIME = DateTime.Now;

View File

@ -32,7 +32,8 @@ namespace APT.BS.WebApi.Controllers.Api
IPFApproveCallBackService ApproveCallBackService { get; set; }
IFMDepartmentService DepartmentService { get; set; }
IPFSysLogService SysLogService { get; set; }
public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService)
IFMUserService UserService { get; set; }
public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService, IFMUserService userService)
{
NotificationTaskService = notificationTaskService;
MFlowPermitService = mFlowPermitService;
@ -40,6 +41,7 @@ namespace APT.BS.WebApi.Controllers.Api
ApproveCallBackService = approveCallBackService;
DepartmentService = departmentService;
SysLogService = sysLogService;
UserService = userService;
}
#region
@ -2056,8 +2058,15 @@ namespace APT.BS.WebApi.Controllers.Api
appOperaterID = userOper.ID;
}
}
T_FM_NOTIFICATION_TASK task = null;
if (entity.TaskID != Guid.Empty)
{
task = NotificationTaskService.GetEntityTask(entity.TaskID, "BS032_SHOWPRINT");
if (!task.SOURCE_DATA_ID.HasValue)
task.SOURCE_DATA_ID = entity.ID;
}
MFlowPermitService.InsertApprove(serialCode, "BS032", param, entity.ID, "BS032_SHOWPRINT", entity.TaskID, true, () =>
MFlowPermitService.InsertApprove(serialCode, "BS032", param, entity.ID, "BS032_SHOWPRINT", null, true, () =>
{
if (entity != null)
UpdateEntityNoCommit(entity); //保存主表 NoCommit
@ -2087,7 +2096,7 @@ namespace APT.BS.WebApi.Controllers.Api
BantchDeleteEntityNoCommit<T_BS_SAFE_CHECK_PROJECT_CATEGORY>(listDelCategoryID);
if (listDelUserIDs != null)
BantchDeleteEntityNoCommit<T_BS_SAFE_CHECK_DETAIL_USER>(listDelUserIDs);
}, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME);//, entity.LIMITDATETIME
}, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME, (int)OPERATEPOINT_Enums.CheckForm);//, entity.LIMITDATETIME
#endregion
}
@ -8100,6 +8109,72 @@ namespace APT.BS.WebApi.Controllers.Api
return modelResult;
});
}
/// 排序分页查询数据
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("OrderPagedAreaMineType")]
public PagedActionResult<T_HM_RISK_AREA> OrderPagedAreaMineType([FromBody] KeywordPageFilter pageFilter)
{
return SafeGetPagedData<T_HM_RISK_AREA>((result) =>
{
Expression<Func<T_HM_RISK_AREA, bool>> expression = null;
List<int> listMineType = new List<int>();
if (pageFilter.FilterGroup.Groups.Count() > 0)
{
var filterGroup = pageFilter.FilterGroup.Groups.ToList()[0];
if (filterGroup.Rules.Count() > 0)
{
foreach (var item in filterGroup.Rules)
{
if (item.Field == "CHECKOBJECT")
{
try
{
listMineType.Add(int.Parse(item.Value.ToString()));
}
catch { }
filterGroup.Rules.Remove(item);
break;
}
}
}
}
if (listMineType == null)
{
listMineType = UserService.GetMineType();
}
if (listMineType != null && listMineType.Count > 0)
{
var listDepUnit = GetEntities<T_FM_DEPARTMENT_PRODUCTION_UNIT>(e => e.Nav_Enums != null && listMineType.Contains(e.Nav_Enums.VALUE), null, "Nav_Enums");
if (listDepUnit != null && listDepUnit.Any())
{
List<Guid> listDepID = listDepUnit.Select(e => e.DEPARTMENT_ID).ToList();
var listDep = GetEntities<T_FM_DEPARTMENT>(e => !e.MineType.HasValue || listDepID.Contains(e.ID), null, null);
List<Guid> listDepId = new List<Guid>();
if (listDep != null && listDep.Any())
{
listDepId = listDep.Select(e => e.ID).ToList();
}
if (listDepId.Count > 0)
{
expression = e => !e.DEPARTMENT_ID.HasValue || listDepId.Contains(e.DEPARTMENT_ID.Value);
}
else
{
expression = e => !e.DEPARTMENT_ID.HasValue;
}
}
}
PagedActionResult<T_HM_RISK_AREA> orderPageEntities = GetOrderPageEntities<T_HM_RISK_AREA>(expression, pageFilter, null);
result.Data = orderPageEntities.Data;
result.TotalCount = orderPageEntities.TotalCount;
});
}
}
/// <summary>
/// 问题描述

View File

@ -2019,6 +2019,111 @@ using APT.BaseData.Domain.ApiModel.PF;
return WitEntity(null, filter);
}
}
#endregion
#region OperateLog-
/// <summary>
/// 操作日志
/// </summary>
[Route("api/BS/OperateLog")]
public partial class OperateLogController : AuthorizeApiController<T_BS_OPERATE_LOG>
{
/// <summary>
/// 查询所有数据
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("Entities")]
public JsonActionResult<IEnumerable<T_BS_OPERATE_LOG>> Entities([FromBody]KeywordFilter filter)
{
return WitEntities(null, filter);
}
/// <summary>
/// 排序查询所有数据
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("OrderEntities")]
public JsonActionResult<IEnumerable<T_BS_OPERATE_LOG>> OrderEntities([FromBody]KeywordFilter filter)
{
return WitOrderEntities(null, filter);
}
/// <summary>
/// 分页查询数据
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("Paged")]
public PagedActionResult<T_BS_OPERATE_LOG> Paged([FromBody]KeywordPageFilter pageFilter)
{
return WitPaged(null, pageFilter);
}
/// <summary>
/// 排序分页查询数据
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_BS_OPERATE_LOG> OrderPaged([FromBody]KeywordPageFilter pageFilter)
{
return WitOrderPaged(null, pageFilter);
}
/// <summary>
/// 根据主键删除数据
/// </summary>
/// <param name="id">主键ID</param>
/// <returns></returns>
[HttpGet, Route("Delete")]
public JsonActionResult<bool> Delete(string id)
{
return WitRealDelete(id);
}
/// <summary>
/// 更新或新增数据
/// </summary>
/// <param name="entity">对象实体</param>
/// <returns></returns>
[HttpPost, Route("Update")]
public JsonActionResult<bool> Update([FromBody]T_BS_OPERATE_LOG entity)
{
return WitUpdate(entity);
}
/// <summary>
/// 批量更新
/// </summary>
/// <param name="entity">对象实体</param>
/// <returns></returns>
[HttpPost, Route("BatchUpdate")]
public JsonActionResult<bool> BatchUpdate([FromBody] BatchUpdateModel<T_BS_OPERATE_LOG> entity)
{
return WitBantchUpdate(entity?.Data);
}
/// <summary>
/// 批量删除数据
/// </summary>
/// <param name="ids">id字符串id用逗号分隔</param>
/// <returns></returns>
[HttpGet, Route("BatchDelete")]
public JsonActionResult<bool> BatchDelete(string ids)
{
return WitRealBatchDelete(ids);
}
/// <summary>
/// 获得单条实体数据
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("Get")]
public JsonActionResult<T_BS_OPERATE_LOG> Get([FromBody] KeywordFilter filter)
{
return WitEntity(null, filter);
}
}
#endregion
#region PlanSet-