This commit is contained in:
何美荣 2025-10-22 17:55:59 +08:00
parent 7f4a31f4fe
commit 952c82bf13
5 changed files with 582 additions and 566 deletions

View File

@ -12460,7 +12460,24 @@ namespace APT.BaseData.Services.DomainServices
var currentDepart = departs.FirstOrDefault(t => t.ID == entity.APPLY_DEPARTMENT_ID);
if (currentDepart != null)
{
if (currentDepart.DEPARTMENT_TYPE == 10)
if (currentDepart.DEPARTMENT_STATUS != 1)
{
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == currentDepart.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
else if (currentDepart.DEPARTMENT_TYPE == 10)
{
departIds.Add(currentDepart.ID);
if (user == null)
@ -12490,7 +12507,7 @@ namespace APT.BaseData.Services.DomainServices
}
else if (currentDepart.DEPARTMENT_TYPE == 20)
{
var parentId = departs.FirstOrDefault(t => t.ID == entity.APPLY_DEPARTMENT_ID)?.PARENT_ID;
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
departIds.Add((Guid)parentId);
var classIds = departs.Where(t => t.PARENT_ID == parentId).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
@ -12516,7 +12533,7 @@ namespace APT.BaseData.Services.DomainServices
}
else if (currentDepart.DEPARTMENT_TYPE == 5)
{
departIds.Add(currentDepart.ID);
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
@ -12532,14 +12549,33 @@ namespace APT.BaseData.Services.DomainServices
}
}
//if (currentDepart.DEPARTMENT_STATUS == 0)
//{
// user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
// if (user != null)
// {
// userId = user.ID;
// }
//}
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
if (userId == null)
{
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
if (parentId != null)
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
//车间负责人
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
if (departUser != null)
{
userId = departUser.USER_ID;
if (userId != null)
{
//currentDepart = departUser;
user = users.FirstOrDefault(t => t.ID == userId);
}
}
}
}
}
var requre = this.GetEntity<T_SK_REQUEST>(t => !t.IS_DELETED);
var filter = new BaseFilter(entity.ORG_ID);
filter.IgnoreDataRule = true;
@ -12566,38 +12602,29 @@ namespace APT.BaseData.Services.DomainServices
//Expression<Func<T_SK_RISK_IDENTIFY_DETAIL, bool>> expression2 = i => i.IS_DELETED == false && identityIds.Contains(i.RISK_IDENTIFY_ID);
//List<T_SK_RISK_IDENTIFY_DETAIL> list = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID)).ToList();
var list = this.GetEntities<T_SK_RISK_IDENTIFY_DETAIL>(t => identityIds.Contains(t.RISK_IDENTIFY_ID), new BaseFilter(entity.ORG_ID));
var detailList = list.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID });
var detailList = list.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault());
if (detailList.Any())
{
foreach (var item in detailList)
{
var mark = librarys.FirstOrDefault(m => m.AREA_ID == item.Key.AREA_ID && m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID);
var temp = list.Where(m => m.AREA_ID == item.Key.AREA_ID && m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList();
var temp = list.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.ENABLE_STATUS == item.ENABLE_STATUS).ToList();
var identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList();
//本组是否存在有效数据
var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
//本组是否存在无效数据
//var tempNo = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.No);
if (tempYes != null)
{
//存在有效数据时只取有效部门岗位
identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList();
}
var departIdss = identitys.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var userIdss = identitys.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList();
T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL();
ideDetail.ORG_ID = entity.ORG_ID;
ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID;
ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
ideDetail.AREA_ID = item.Key.AREA_ID;
ideDetail.RISK_NAME = item.Key.RISK_NAME;
ideDetail.RISK_DESCRIPTION = item.Key.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.Key.TYPE_ID;
ideDetail.MEASURE = tempYes != null ? tempYes.MEASURE : temp[0]?.MEASURE;
ideDetail.EMERGENCY = tempYes != null ? tempYes.EMERGENCY : temp[0]?.EMERGENCY;
ideDetail.ENABLE_STATUS = tempYes != null ? tempYes.ENABLE_STATUS : temp[0].ENABLE_STATUS;
//ideDetail.DEPARTMENT_TYPE = "岗位级";
ideDetail.MARK = mark == null ? SKMarkEnum.Add : temp[0].MARK;
ideDetail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
ideDetail.MineType = item.MineType;
ideDetail.AREA_ID = item.AREA_ID;
ideDetail.RISK_NAME = item.RISK_NAME;
ideDetail.RISK_NAME_ID = item.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.TYPE_ID;
ideDetail.MEASURE = item.MEASURE;
ideDetail.EMERGENCY = item.EMERGENCY;
ideDetail.ENABLE_STATUS = item.ENABLE_STATUS;
ideDetail.MARK = item.MARK;
if (departIdss.Any())
{
var departTemps = departs.Where(t => departIdss.Contains(t.ID)).Select(m => m.DEPARTMENT_TYPE).Distinct().ToList();
@ -12740,7 +12767,7 @@ namespace APT.BaseData.Services.DomainServices
{
if (currentDepart.DEPARTMENT_STATUS != 1)
{
departIds.Add(currentDepart.ID);
//departIds.Add(currentDepart.ID);
var otherIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(t => t.ID).ToList();
departIds.AddRange(otherIds);
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
@ -12748,6 +12775,14 @@ namespace APT.BaseData.Services.DomainServices
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
else if (currentDepart.DEPARTMENT_TYPE == 10)
{
@ -12834,7 +12869,7 @@ namespace APT.BaseData.Services.DomainServices
}
else if (currentDepart.DEPARTMENT_TYPE == 5)
{
departIds.Add(currentDepart.ID);
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
@ -12894,35 +12929,33 @@ namespace APT.BaseData.Services.DomainServices
//Expression<Func<T_SK_RISK_IDENTIFY_RESULT_DETAIL, bool>> expression2 = i => i.IS_DELETED == false && resultIds.Contains(i.RISK_IDENTIFY_RESULT_ID);
//List<T_SK_RISK_IDENTIFY_RESULT_DETAIL> details = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID), new string[] { "Nav_DetailMeasures", "Nav_DetailDeparts", "Nav_DetailPosts" }).ToList();
var details = GetEntities<T_SK_RISK_IDENTIFY_RESULT_DETAIL>(i => resultIds.Contains(i.RISK_IDENTIFY_RESULT_ID) && i.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_DetailMeasures", "Nav_DetailDeparts", "Nav_DetailPosts");
var detailList = details.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID });
var detailList = details.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault());
if (detailList.Any())
{
foreach (var de in detailList)
{
var temp = details.FirstOrDefault(m =>m.PRODUCTION_UNIT_ID == de.Key.PRODUCTION_UNIT_ID && m.AREA_ID == de.Key.AREA_ID && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID);
T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL();
ideDetail.ORG_ID = entity.ORG_ID;
ideDetail.IDENTIFY_RESULT_SUMMARY_ID = sum.ID;
//ideDetail.MineType = de.Key.MineType;
ideDetail.PRODUCTION_UNIT_ID = de.Key.PRODUCTION_UNIT_ID;
ideDetail.AREA_ID = de.Key.AREA_ID;
ideDetail.RISK_NAME = de.Key.RISK_NAME;
//ideDetail.RISK_NAME_ID = de.Key.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = de.Key.RISK_DESCRIPTION;
ideDetail.TYPE_ID = de.Key.TYPE_ID;
ideDetail.MEASURE = temp?.MEASURE;
ideDetail.EMERGENCY = temp?.EMERGENCY;
ideDetail.RISK_NAME_ID = temp?.RISK_NAME_ID;
ideDetail.DEPARTMENT_TYPE = temp?.DEPARTMENT_TYPE;
ideDetail.IDENTIFY_DEPARTMENT = temp?.IDENTIFY_DEPARTMENT;
ideDetail.IDENTIFY_POST = temp?.IDENTIFY_POST;
ideDetail.MARK = temp == null ? SKMarkEnum.Add : temp.MARK;
ideDetail.PRODUCTION_UNIT_ID = de.PRODUCTION_UNIT_ID;
ideDetail.MineType = de.MineType;
ideDetail.AREA_ID = de.AREA_ID;
ideDetail.RISK_NAME = de.RISK_NAME;
ideDetail.RISK_NAME_ID = de.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = de.RISK_DESCRIPTION;
ideDetail.TYPE_ID = de.TYPE_ID;
ideDetail.MEASURE = de.MEASURE;
ideDetail.EMERGENCY = de.EMERGENCY;
ideDetail.DEPARTMENT_TYPE = de.DEPARTMENT_TYPE;
ideDetail.IDENTIFY_DEPARTMENT = de.IDENTIFY_DEPARTMENT;
ideDetail.IDENTIFY_POST = de.IDENTIFY_POST;
ideDetail.MARK = de.MARK;
summaryDetails.Add(ideDetail);
}
}
var param = "部门级";
var dminetype = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID).DEPARTMENT_TYPE;
if (dminetype == 5 || (dminetype == 10 && sum.ISCOMPANY == SKIsStoreEnum.Yes))
if (dminetype == 5 || sum.ISCOMPANY == SKIsStoreEnum.Yes)
{
param = "公司级";
}
@ -13026,55 +13059,37 @@ namespace APT.BaseData.Services.DomainServices
var currentDepart = departs.FirstOrDefault(t => t.ID == entity.APPLY_DEPARTMENT_ID);
if (currentDepart != null)
{
if (entity.ISCOMPANY == SKIsStoreEnum.Yes)
if (currentDepart.DEPARTMENT_STATUS != 1)
{
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
}
else if (currentDepart.DEPARTMENT_TYPE == 10)
{
departIds.Add(currentDepart.ID);
var shopIds = departs.Where(t => t.PARENT_ID == currentDepart.ID).Select(t => t.ID).ToList();
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
}
else
else if (currentDepart.DEPARTMENT_TYPE == 15)
{
if (currentDepart.DEPARTMENT_TYPE == 10)
departIds.Add(currentDepart.ID);
var classIds = departs.Where(t => t.PARENT_ID == currentDepart.ID).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
}
else if (currentDepart.DEPARTMENT_TYPE == 20)
{
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
if (parentId != null)
{
departIds.Add(currentDepart.ID);
var shopIds = departs.Where(t => t.PARENT_ID == currentDepart.ID).Select(t => t.ID).ToList();
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.Add((Guid)parentId);
var classIds = departs.Where(t => t.PARENT_ID == parentId).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
}
else if (currentDepart.DEPARTMENT_TYPE == 15)
{
//departIds.Add(currentDepart.ID);
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID).PARENT_ID;
if (parentId != null)
{
departIds.Add(parentId.Value);
var shopIds = departs.Where(t => t.PARENT_ID == parentId).Select(t => t.ID).ToList();
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
}
}
else if (currentDepart.DEPARTMENT_TYPE == 20)
{
//var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
//departIds.Add((Guid)parentId);
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
if (parentId != null)
{
var parentId2 = departs.FirstOrDefault(t => t.ID == parentId)?.PARENT_ID;
if (parentId2 != null)
{
departIds.Add((Guid)parentId2);
var shopIds = departs.Where(t => t.PARENT_ID == parentId2).Select(t => t.ID).ToList();
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
}
}
}
else if (currentDepart.DEPARTMENT_TYPE == 5)
{
departIds.Add(currentDepart.ID);
}
}
else if (currentDepart.DEPARTMENT_TYPE == 5)
{
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
}
}
var requre = this.GetEntity<T_SK_EVALUATION>(t => !t.IS_DELETED);
@ -13090,7 +13105,7 @@ namespace APT.BaseData.Services.DomainServices
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID));
var libraryIds = librarys.Select(t => t.ID).ToList();
var libraryDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(entity.ORG_ID));
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(entity.ORG_ID));
//var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(entity.ORG_ID));
foreach (var bm in summarys)
{
var user = users.FirstOrDefault(t => t.ID == bm.APPLY_USER_ID);
@ -13128,30 +13143,28 @@ namespace APT.BaseData.Services.DomainServices
detail.SCOREL_ID = departTemp?.SCOREL_ID;
detail.EVALUATE_SCORE = departTemp == null ? 0 : departTemp.EVALUATE_SCORE;
detail.EVALUATE_LEVEL = departTemp == null ? SKEvaluateLevelEnum. : departTemp.EVALUATE_LEVEL;
detail.EMERGENCY = departTemp == null ? "" : departTemp.EMERGENCY;
detail.MARK = departTemp == null ? SKMarkEnum.Add : SKMarkEnum.Auto;
detail.MARK = de.MARK;
detail.MEASURE = de.MEASURE;
if (departTemp != null)
{
var libraryDetailTemps = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == departTemp.ID).ToList();
if (libraryDetailTemps.Any())
{
var i = 1;
foreach (var item in libraryDetailTemps)
{
T_SK_RISK_EVALUATION_DETAIL_MEASURE dep = new T_SK_RISK_EVALUATION_DETAIL_MEASURE();
dep.MEASURES_NAME = item.MEASURES_NAME;
dep.EMERGENCY = item.EMERGENCY;
dep.NUM = item.NUM;
dep.ORG_ID = item.ORG_ID;
dep.RISK_EVALUATION_DETAIL_ID = detail.ID;
detailMeasures.Add(dep);
var measureTemp = i + "、" + item.MEASURES_NAME + "";
detail.MEASURE = detail.MEASURE + measureTemp;
//var emergencyTemp = i + "、" + item.EMERGENCY + "";
//detail.EMERGENCY = detail.EMERGENCY + emergencyTemp;
i++;
}
}
//var libraryDetailTemps = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == departTemp.ID).ToList();
//if (libraryDetailTemps.Any())
//{
// var i = 1;
// foreach (var item in libraryDetailTemps)
// {
// T_SK_RISK_EVALUATION_DETAIL_MEASURE dep = new T_SK_RISK_EVALUATION_DETAIL_MEASURE();
// dep.MEASURES_NAME = item.MEASURES_NAME;
// dep.EMERGENCY = item.EMERGENCY;
// dep.NUM = item.NUM;
// dep.ORG_ID = item.ORG_ID;
// dep.RISK_EVALUATION_DETAIL_ID = detail.ID;
// detailMeasures.Add(dep);
// var measureTemp = i + "、" + item.MEASURES_NAME + "";
// detail.MEASURE = detail.MEASURE + measureTemp;
// i++;
// }
//}
var libraryDepartTemps = libraryDeparts.Where(t => t.ENTERPRISE_LIBRARY_ID == departTemp.ID).ToList();
if (libraryDepartTemps.Any())
{
@ -13180,22 +13193,22 @@ namespace APT.BaseData.Services.DomainServices
resultDetails.Add(detail);
}
}
var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险评估表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", result.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "SK039");
notices.Add(noticeTask);
T_SC_MT_MEETING_BEGIN modelBegin = new T_SC_MT_MEETING_BEGIN();
modelBegin.ID = Guid.NewGuid();
modelBegin.ORG_ID = entity.ORG_ID;
modelBegin.SOURCETYPE = SOURCETYPE.SK037ToMeet;
modelBegin.TABLENAME = "T_SK_RISK_IDENTIFY_RESULT_SUMMARY";
modelBegin.DATA_ID = entity.ID;
modelBegin.ISBEGIN = false;
modelBegin.USER_ID = user.ID;
modelBegin.CREATE_TIME = DateTime.Now;
modelBegin.CREATER_ID = user.ID;
modelBegins.Add(modelBegin);
//var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险评估表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", result.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK039");
//notices.Add(noticeTask);
//T_SC_MT_MEETING_BEGIN modelBegin = new T_SC_MT_MEETING_BEGIN();
//modelBegin.ID = Guid.NewGuid();
//modelBegin.ORG_ID = entity.ORG_ID;
//modelBegin.SOURCETYPE = SOURCETYPE.SK037ToMeet;
//modelBegin.TABLENAME = "T_SK_RISK_IDENTIFY_RESULT_SUMMARY";
//modelBegin.DATA_ID = entity.ID;
//modelBegin.ISBEGIN = false;
//modelBegin.USER_ID = user.ID;
//modelBegin.CREATE_TIME = DateTime.Now;
//modelBegin.CREATER_ID = user.ID;
//modelBegins.Add(modelBegin);
//触发今日提醒
//var noticeDay = NotificationTaskService.InsertUserNoticeTaskModel("危险源辨识与风险评估", result.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.今日提醒, "PF135");
//notices.Add(noticeDay);
var noticeDay = NotificationTaskService.InsertUserNoticeTaskModel("请召开《危险源辨识与风险评估》会议,确定风险等级和管控措施(含应急处置、辨识岗位、管控层级、检查内容、检查层级等)", result.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "PF135");
notices.Add(noticeDay);
}
}
}
@ -13288,13 +13301,35 @@ namespace APT.BaseData.Services.DomainServices
var currentDepart = departs.FirstOrDefault(t => t.ID == entity.APPLY_DEPARTMENT_ID);
if (currentDepart != null)
{
if (currentDepart.DEPARTMENT_TYPE == 10)
if (currentDepart.DEPARTMENT_STATUS != 1)
{
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
else if (currentDepart.DEPARTMENT_TYPE == 10)
{
departIds.Add(currentDepart.ID);
var shopIds = departs.Where(t => t.PARENT_ID == currentDepart.ID).Select(t => t.ID).ToList();
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
if (user != null)
{
userId = user.ID;
}
}
else if (currentDepart.DEPARTMENT_TYPE == 15)
{
@ -13307,6 +13342,19 @@ namespace APT.BaseData.Services.DomainServices
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole.NAME.Contains("负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
//DepartmentService.GetDepartmentIds(entity.ORG_ID.Value, new List<Guid>() { currentDepart.ID }, ref departIds);
//departIds.Add(currentDepart.ID);
@ -13324,43 +13372,39 @@ namespace APT.BaseData.Services.DomainServices
departIds.AddRange(shopIds);
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
departIds.AddRange(classIds);
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId2 && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId2 && t.Nav_ApproveRole.NAME.Contains("负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
}
}
else if (currentDepart.DEPARTMENT_TYPE == 5)
{
departIds.Add(currentDepart.ID);
departIds = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
userId = user.ID;
}
}
var departId = departs.FirstOrDefault(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 10);
if (departId != null)
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (user != null)
{
userId = user.ID;
}
else
{
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部负责人"));
if (user != null)
{
userId = user.ID;
}
}
}
if (currentDepart.DEPARTMENT_STATUS == 0)
{
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员"));
if (user != null)
{
userId = user.ID;
}
}
}
var requre = this.GetEntity<T_SK_EVALUATION>(t => !t.IS_DELETED);
var filter = new BaseFilter(entity.ORG_ID);
@ -13383,54 +13427,56 @@ namespace APT.BaseData.Services.DomainServices
result.ISCOMPANY = entity.ISCOMPANY;
var resultIds = results.Select(t => t.ID).ToList();
var details = GetEntities<T_SK_RISK_EVALUATION_DETAIL>(i => resultIds.Contains(i.RISK_EVALUATION_ID), new BaseFilter(entity.ORG_ID), "Nav_DetailMeasures", "Nav_DetailDeparts");
var detailList = details.GroupBy(m => new { m.AREA_ID,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID });
var detailList = details.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID }).Select(g => g.FirstOrDefault());
if (detailList.Any())
{
foreach (var de in detailList)
{
var temp = details.FirstOrDefault(m =>m.PRODUCTION_UNIT_ID == de.Key.PRODUCTION_UNIT_ID && m.AREA_ID == de.Key.AREA_ID && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID);
T_SK_RISK_EVALUATION_SUMMARY_DETAIL detail = new T_SK_RISK_EVALUATION_SUMMARY_DETAIL();
detail.ORG_ID = entity.ORG_ID;
detail.RISK_EVALUATION_SUMMARY_ID = result.ID;
detail.PRODUCTION_UNIT_ID = de.Key.PRODUCTION_UNIT_ID;
detail.AREA_ID = de.Key.AREA_ID;
detail.RISK_NAME = de.Key.RISK_NAME;
detail.RISK_DESCRIPTION = de.Key.RISK_DESCRIPTION;
detail.TYPE_ID = de.Key.TYPE_ID;
detail.EVALUATE_L = temp.EVALUATE_L;
detail.EVALUATE_E = temp.EVALUATE_E;
detail.EVALUATE_C = temp.EVALUATE_C;
detail.SCOREC_ID = temp?.SCOREC_ID;
detail.SCOREE_ID = temp?.SCOREE_ID;
detail.SCOREL_ID = temp?.SCOREL_ID;
detail.EVALUATE_SCORE = temp.EVALUATE_SCORE;
detail.EMERGENCY = temp.EMERGENCY;
detail.EVALUATE_LEVEL = temp.EVALUATE_LEVEL;
detail.MARK = temp == null ? SKMarkEnum.Add : temp.MARK;
detail.PRODUCTION_UNIT_ID = de.PRODUCTION_UNIT_ID;
detail.MineType = de.MineType;
detail.AREA_ID = de.AREA_ID;
detail.RISK_NAME = de.RISK_NAME;
detail.RISK_NAME_ID = de.RISK_NAME_ID;
detail.RISK_DESCRIPTION = de.RISK_DESCRIPTION;
detail.TYPE_ID = de.TYPE_ID;
detail.EVALUATE_L = de.EVALUATE_L;
detail.EVALUATE_E = de.EVALUATE_E;
detail.EVALUATE_C = de.EVALUATE_C;
detail.SCOREC_ID = de.SCOREC_ID;
detail.SCOREE_ID = de.SCOREE_ID;
detail.SCOREL_ID = de.SCOREL_ID;
detail.EVALUATE_SCORE = de.EVALUATE_SCORE;
detail.EMERGENCY = de.EMERGENCY;
detail.EVALUATE_LEVEL = de.EVALUATE_LEVEL;
detail.MARK = de.MARK;
detail.MEASURE = de.MEASURE;
resultDetails.Add(detail);
if (temp.Nav_DetailMeasures != null && temp.Nav_DetailMeasures.Any())
//if (temp.Nav_DetailMeasures != null && temp.Nav_DetailMeasures.Any())
//{
// var i = 1;
// foreach (var item in temp.Nav_DetailMeasures.OrderBy(t => t.NUM))
// {
// T_SK_RISK_EVALUATION_SUMMARY_DETAIL_MEASURE dep = new T_SK_RISK_EVALUATION_SUMMARY_DETAIL_MEASURE();
// dep.MEASURES_NAME = item.MEASURES_NAME;
// dep.EMERGENCY = item.EMERGENCY;
// dep.NUM = item.NUM;
// dep.ORG_ID = item.ORG_ID;
// dep.RISK_EVALUATION_SUMMARY_DETAIL_ID = detail.ID;
// detailMeasures.Add(dep);
// var measureTemp = i + "、" + item.MEASURES_NAME + "";
// detail.MEASURE = detail.MEASURE + measureTemp;
// //var emergencyTemp = i + "、" + item.EMERGENCY + "";
// //detail.EMERGENCY = detail.EMERGENCY + emergencyTemp;
// i++;
// }
//}
if (de.Nav_DetailDeparts != null && de.Nav_DetailDeparts.Any())
{
var i = 1;
foreach (var item in temp.Nav_DetailMeasures.OrderBy(t => t.NUM))
{
T_SK_RISK_EVALUATION_SUMMARY_DETAIL_MEASURE dep = new T_SK_RISK_EVALUATION_SUMMARY_DETAIL_MEASURE();
dep.MEASURES_NAME = item.MEASURES_NAME;
dep.EMERGENCY = item.EMERGENCY;
dep.NUM = item.NUM;
dep.ORG_ID = item.ORG_ID;
dep.RISK_EVALUATION_SUMMARY_DETAIL_ID = detail.ID;
detailMeasures.Add(dep);
var measureTemp = i + "、" + item.MEASURES_NAME + "";
detail.MEASURE = detail.MEASURE + measureTemp;
//var emergencyTemp = i + "、" + item.EMERGENCY + "";
//detail.EMERGENCY = detail.EMERGENCY + emergencyTemp;
i++;
}
}
if (temp.Nav_DetailDeparts != null && temp.Nav_DetailDeparts.Any())
{
var i = 1;
foreach (var item in temp.Nav_DetailDeparts.OrderBy(m => m.DEPARTMENT_TYPE))
foreach (var item in de.Nav_DetailDeparts.OrderBy(m => m.DEPARTMENT_TYPE))
{
T_SK_RISK_EVALUATION_SUMMARY_DETAIL_DEPART dep = new T_SK_RISK_EVALUATION_SUMMARY_DETAIL_DEPART();
dep.DEPARTMENT_TYPE = item.DEPARTMENT_TYPE;
@ -13454,7 +13500,7 @@ namespace APT.BaseData.Services.DomainServices
}
var param = "部门级";
var dminetype = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID).DEPARTMENT_TYPE;
if (dminetype == 5 || (dminetype == 10 && result.ISCOMPANY == SKIsStoreEnum.Yes))
if (dminetype == 5 || result.ISCOMPANY == SKIsStoreEnum.Yes)
{
param = "公司级";
}

View File

@ -1509,7 +1509,7 @@ namespace APT.PP.WebApi.Controllers.Api
//公司默认职能部门
var company = departs.FirstOrDefault(t => t.PARENT_ID == null);
departListIds.Add(company.ID);
var tempids = departs.Where(t => t.DEPARTMENT_STATUS == 0).Select(m => m.ID).ToList();
var tempids = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
departListIds.AddRange(tempids);
//职能口统一汇总给安环部安全员
if (departListIds.Any())
@ -1543,32 +1543,29 @@ namespace APT.PP.WebApi.Controllers.Api
results.Add(result);
var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList();
//汇总去重
var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
detailListYes.AddRange(detailListNo);
var detailListYes = list.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()).ToList();
if (detailListYes.Any())
{
foreach (var item in detailListYes)
{
var temp = list.Where(m =>m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList();
//只取有效的部门岗位
var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList();
var temp = list.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_NAME_ID == item.RISK_NAME_ID && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.ENABLE_STATUS == item.ENABLE_STATUS).ToList();
//var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
var identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList();
var departIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var userIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList();
T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL();
ideDetail.ORG_ID = filter.OrgId;
ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID;
ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
ideDetail.MineType = item.Key.MineType;
ideDetail.AREA_ID = item.Key.AREA_ID;
ideDetail.RISK_NAME = item.Key.RISK_NAME;
ideDetail.RISK_NAME_ID = item.Key.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.Key.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.Key.TYPE_ID;
ideDetail.MEASURE = tempYes != null ? tempYes.MEASURE : temp[0]?.MEASURE;
ideDetail.EMERGENCY = tempYes != null ? tempYes.EMERGENCY : temp[0]?.EMERGENCY;
ideDetail.ENABLE_STATUS = tempYes != null ? tempYes.ENABLE_STATUS : temp[0].ENABLE_STATUS;
ideDetail.MineType = item.MineType;
ideDetail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
ideDetail.AREA_ID = item.AREA_ID;
ideDetail.RISK_NAME = item.RISK_NAME;
ideDetail.RISK_NAME_ID = item.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.TYPE_ID;
ideDetail.MEASURE = item.MEASURE;
ideDetail.EMERGENCY = item.EMERGENCY;
ideDetail.ENABLE_STATUS = item.ENABLE_STATUS;
if (departIdss.Any())
{
var departTemps = departs.Where(t => departIdss.Contains(t.ID)).Select(m => m.DEPARTMENT_TYPE).Distinct().ToList();
@ -1578,15 +1575,15 @@ namespace APT.PP.WebApi.Controllers.Api
foreach (var ite in departTemps)
{
var departType = "公司级";
if (ite == 0)
if (ite == 10)
{
departType = "部门级";
}
if (ite == 1)
if (ite == 15)
{
departType = "车间级";
}
if (ite == 2)
if (ite == 20)
{
departType = "班组级";
}
@ -1674,32 +1671,29 @@ namespace APT.PP.WebApi.Controllers.Api
var ideIds = ides.Where(m => m.APPLY_DEPARTMENT_ID == de).Select(t => t.ID).ToList();
var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList();
//汇总去重
var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
detailListYes.AddRange(detailListNo);
var detailListYes = list.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()).ToList();
if (detailListYes.Any())
{
foreach (var item in detailListYes)
{
var temp = list.Where(m => m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList();
//只取有效的部门岗位
var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList();
var temp = list.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_NAME_ID == item.RISK_NAME_ID && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.ENABLE_STATUS == item.ENABLE_STATUS).ToList();
//var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
var identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList();
var departIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var userIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList();
T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL();
ideDetail.ORG_ID = filter.OrgId;
ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID;
ideDetail.MineType = item.Key.MineType;
ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
ideDetail.AREA_ID = item.Key.AREA_ID;
ideDetail.RISK_NAME = item.Key.RISK_NAME;
ideDetail.RISK_NAME_ID = item.Key.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.Key.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.Key.TYPE_ID;
ideDetail.MEASURE = tempYes != null ? tempYes.MEASURE : temp[0]?.MEASURE;
ideDetail.EMERGENCY = tempYes != null ? tempYes.EMERGENCY : temp[0]?.EMERGENCY;
ideDetail.ENABLE_STATUS = tempYes != null ? tempYes.ENABLE_STATUS : temp[0].ENABLE_STATUS;
ideDetail.MineType = item.MineType;
ideDetail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
ideDetail.AREA_ID = item.AREA_ID;
ideDetail.RISK_NAME = item.RISK_NAME;
ideDetail.RISK_NAME_ID = item.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.TYPE_ID;
ideDetail.MEASURE = item.MEASURE;
ideDetail.EMERGENCY = item.EMERGENCY;
ideDetail.ENABLE_STATUS = item.ENABLE_STATUS;
//ideDetail.DEPARTMENT_TYPE = "岗位级";
if (departIdss.Any())
{
@ -1710,15 +1704,15 @@ namespace APT.PP.WebApi.Controllers.Api
foreach (var ite in departTemps)
{
var departType = "公司级";
if (ite == 0)
if (ite == 10)
{
departType = "部门级";
}
if (ite == 1)
if (ite == 15)
{
departType = "车间级";
}
if (ite == 2)
if (ite == 20)
{
departType = "班组级";
}
@ -1811,32 +1805,29 @@ namespace APT.PP.WebApi.Controllers.Api
var ideIds = ides.Where(m => m.APPLY_DEPARTMENT_ID == de || classIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t => t.ID).ToList();
var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList();
//汇总去重
var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList();
detailListYes.AddRange(detailListNo);
var detailListYes = list.GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()).ToList();
if (detailListYes.Any())
{
foreach (var item in detailListYes)
{
var temp = list.Where(m => m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList();
//只取有效的部门岗位
var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes);
var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList();
var temp = list.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_NAME_ID == item.RISK_NAME_ID && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.ENABLE_STATUS == item.ENABLE_STATUS).ToList();
var identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList();
var departIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var userIdss = identityTemps.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList();
T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL();
ideDetail.ORG_ID = filter.OrgId;
ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID;
ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
ideDetail.MineType = item.Key.MineType;
ideDetail.AREA_ID = item.Key.AREA_ID;
ideDetail.RISK_NAME = item.Key.RISK_NAME;
ideDetail.RISK_NAME_ID = item.Key.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.Key.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.Key.TYPE_ID;
ideDetail.MEASURE = tempYes != null ? tempYes.MEASURE : temp[0]?.MEASURE;
ideDetail.EMERGENCY = tempYes != null ? tempYes.EMERGENCY : temp[0]?.EMERGENCY;
ideDetail.ENABLE_STATUS = tempYes != null ? tempYes.ENABLE_STATUS : temp[0].ENABLE_STATUS;
ideDetail.MineType = item.MineType;
ideDetail.AREA_ID = item.AREA_ID;
ideDetail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
ideDetail.RISK_NAME = item.RISK_NAME;
ideDetail.RISK_NAME_ID = item.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.TYPE_ID;
ideDetail.MEASURE = item.MEASURE;
ideDetail.EMERGENCY = item.EMERGENCY;
ideDetail.ENABLE_STATUS = item.ENABLE_STATUS;
//ideDetail.DEPARTMENT_TYPE = "岗位级";
if (departIdss.Any())
{
@ -1847,15 +1838,15 @@ namespace APT.PP.WebApi.Controllers.Api
foreach (var ite in departTemps)
{
var departType = "公司级";
if (ite == 0)
if (ite == 10)
{
departType = "部门级";
}
if (ite == 1)
if (ite == 15)
{
departType = "车间级";
}
if (ite == 2)
if (ite == 20)
{
departType = "班组级";
}

View File

@ -74,18 +74,11 @@ namespace APT.SK.WebApi.Controllers.Api
deletePostIds = this.GetEntities<T_SK_RISK_EVALUATION_DETAIL_POST>(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
foreach (var item in details)
{
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION);
if (temp == null)
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.MEASURE == item.MEASURE
&& t.EMERGENCY == item.EMERGENCY);
if (temp == null && item.MARK != SKMarkEnum.Add)
{
item.MARK = SKMarkEnum.Add;
}
else
{
if (temp.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && temp.AREA_ID == item.AREA_ID && temp.TYPE_ID == item.TYPE_ID && temp.RISK_NAME != item.RISK_NAME && temp.RISK_DESCRIPTION != item.RISK_DESCRIPTION && (temp.MEASURE != item.MEASURE
|| temp.EMERGENCY != item.EMERGENCY))
{
item.MARK = SKMarkEnum.Update;
}
item.MARK = SKMarkEnum.Update;
}
}
//record.Nav_Details.ForEach(t =>

View File

@ -76,18 +76,11 @@ namespace APT.SK.WebApi.Controllers.Api
//});
foreach (var item in details)
{
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION);
if (temp == null)
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.MEASURE == item.MEASURE
&& t.EMERGENCY == item.EMERGENCY);
if (temp == null && item.MARK != SKMarkEnum.Add)
{
item.MARK = SKMarkEnum.Add;
}
else
{
if (temp.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && temp.AREA_ID == item.AREA_ID && temp.TYPE_ID == item.TYPE_ID && temp.RISK_NAME != item.RISK_NAME && temp.RISK_DESCRIPTION != item.RISK_DESCRIPTION && (temp.MEASURE != item.MEASURE
|| temp.EMERGENCY != item.EMERGENCY))
{
item.MARK = SKMarkEnum.Update;
}
item.MARK = SKMarkEnum.Update;
}
}
}

View File

@ -93,18 +93,11 @@ namespace APT.SK.WebApi.Controllers.Api
//});
foreach (var item in details)
{
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION);
if (temp == null)
var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.MEASURE == item.MEASURE
&& t.EMERGENCY == item.EMERGENCY && t.DEPARTMENT_TYPE == item.DEPARTMENT_TYPE && t.IDENTIFY_DEPARTMENT == item.IDENTIFY_DEPARTMENT && t.IDENTIFY_POST == item.IDENTIFY_POST);
if (temp == null && item.MARK != SKMarkEnum.Add)
{
item.MARK = SKMarkEnum.Add;
}
else
{
if (temp.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && temp.AREA_ID == item.AREA_ID && temp.TYPE_ID == item.TYPE_ID && temp.RISK_NAME != item.RISK_NAME && temp.RISK_DESCRIPTION != item.RISK_DESCRIPTION && (temp.MEASURE != item.MEASURE
|| temp.EMERGENCY != item.EMERGENCY || temp.DEPARTMENT_TYPE != item.DEPARTMENT_TYPE || temp.IDENTIFY_DEPARTMENT != item.IDENTIFY_DEPARTMENT || temp.IDENTIFY_POST != item.IDENTIFY_POST))
{
item.MARK = SKMarkEnum.Update;
}
item.MARK = SKMarkEnum.Update;
}
}
}