审批并行

This commit is contained in:
何美荣 2026-03-24 17:42:33 +08:00
parent 37f20ed6c6
commit 2ba01d1f3b
2 changed files with 27 additions and 19 deletions

View File

@ -464,7 +464,7 @@ namespace APT.BaseData.Services.Services.FM
if (detail.APPROVE_USER_ID != null) if (detail.APPROVE_USER_ID != null)
appdetails.Add(detail); appdetails.Add(detail);
}); });
appdetails = appdetails.OrderBy(t => t.NUM).GroupBy(m=>m.APPROVE_USER_ID).Select(n=>n.LastOrDefault()).ToList(); //appdetails = appdetails.OrderBy(t => t.NUM).GroupBy(m=>m.APPROVE_USER_ID).Select(n=>n.LastOrDefault()).ToList();
//var loginUser = users.FirstOrDefault(t => t.ID == loginUserId); //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("安环部"))); //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("安环部安全员"))) //if (departUser != null || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部负责人")) || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部安全员")))
@ -482,7 +482,7 @@ namespace APT.BaseData.Services.Services.FM
// appdetails.Remove(tempCharge); // appdetails.Remove(tempCharge);
// } // }
//} //}
appdetails.ForEach(i => i.Nav_ApproveRole = null); appdetails.OrderBy(t => t.NUM).ForEach(i => i.Nav_ApproveRole = null);
appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM)).ForEach(i => i.IS_CURRENT = true); appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM)).ForEach(i => i.IS_CURRENT = true);
//当前节点 //当前节点
@ -511,18 +511,18 @@ namespace APT.BaseData.Services.Services.FM
LogApproveDetailReduce(approve, loginUserId.Value, JsonApproveDetail, appdetails); LogApproveDetailReduce(approve, loginUserId.Value, JsonApproveDetail, appdetails);
} }
var sendUserId = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).FirstOrDefault(); var sendUserIds = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).ToList();
//var sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME; //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; //string sendUserName = string.Empty;
if (ue != null) //if (ue != null)
{ //{
sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME; // sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
} //}
else //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; string taskName = approveTaskName;
if (string.IsNullOrEmpty(taskName)) if (string.IsNullOrEmpty(taskName))
@ -563,11 +563,19 @@ namespace APT.BaseData.Services.Services.FM
default: break; default: break;
} }
} }
if (sendUserIds != null && sendUserIds.Any())
{
foreach (var sendUserId in sendUserIds)
{
if (sendUserId != null)
{
var sendUserName = users.FirstOrDefault(i => i.ID == sendUserId)?.NAME;
//发消息 //发消息
notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime, notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime,
endTime, (int)FMNoticeTypeEnum., "PF119"); endTime, (int)FMNoticeTypeEnum., "PF119");
}
}
}
} }
} }
} }

View File

@ -971,7 +971,7 @@ namespace APT.SK.WebApi.Controllers
pageFilter.SelectField.Add("Nav_Details.NUM"); pageFilter.SelectField.Add("Nav_Details.NUM");
pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME"); pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME");
pageFilter.SelectField.Add("Nav_Details.Nav_DetailContents.Nav_Contents.CHECKCONTENT"); pageFilter.SelectField.Add("Nav_Details.Nav_DetailContents.Nav_Contents.CHECKCONTENT");
var result = WitOrderPaged(null, pageFilter); var result = GetOrderPageEntities<T_SK_BASIC_LIBRARY>(null, pageFilter);
if (result != null && result.Data != null && result.Data.Any()) if (result != null && result.Data != null && result.Data.Any())
{ {
foreach (var item in result.Data) foreach (var item in result.Data)