This commit is contained in:
何美荣 2025-11-24 23:02:01 +08:00
parent 1636376374
commit 94e6b451a5
3 changed files with 46 additions and 37 deletions

View File

@ -12848,7 +12848,8 @@ namespace APT.BaseData.Services.DomainServices
List<Guid> departIds = new List<Guid>(); List<Guid> departIds = new List<Guid>();
List<T_SK_RISK_IDENTIFY_RESULT_DETAIL> resultDetail = new List<T_SK_RISK_IDENTIFY_RESULT_DETAIL>(); List<T_SK_RISK_IDENTIFY_RESULT_DETAIL> resultDetail = new List<T_SK_RISK_IDENTIFY_RESULT_DETAIL>();
List<T_SK_RISK_IDENTIFY_RESULT_REQUIRE> resultRequires = new List<T_SK_RISK_IDENTIFY_RESULT_REQUIRE>(); List<T_SK_RISK_IDENTIFY_RESULT_REQUIRE> resultRequires = new List<T_SK_RISK_IDENTIFY_RESULT_REQUIRE>();
//List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE> resultDetailMes = new List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE>(); List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE> resultDetailMes = new List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE>();
List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_POST> resultDetailPosts = new List<T_SK_RISK_IDENTIFY_DETAIL_RESULT_POST>();
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID)); var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID));
var posts = this.GetEntities<T_FM_USER_POST>(t => !t.IS_DELETED, new BaseFilter(entity.ORG_ID)); var posts = this.GetEntities<T_FM_USER_POST>(t => !t.IS_DELETED, new BaseFilter(entity.ORG_ID));
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID)); var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID));
@ -13033,8 +13034,8 @@ namespace APT.BaseData.Services.DomainServices
filter.IgnoreDataRule = true; filter.IgnoreDataRule = true;
Expression<Func<T_SK_RISK_IDENTIFY, bool>> expression = i => i.IS_DELETED == false && i.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)i.APPLY_DEPARTMENT_ID); Expression<Func<T_SK_RISK_IDENTIFY, bool>> expression = i => i.IS_DELETED == false && i.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)i.APPLY_DEPARTMENT_ID);
List<T_SK_RISK_IDENTIFY> identitys = this.GetOrderEntities(expression, filter).ToList(); List<T_SK_RISK_IDENTIFY> identitys = this.GetOrderEntities(expression, filter).ToList();
var identityTempIds = identitys.Select(t => t.ID).ToList(); var identityIds = identitys.Select(t => t.ID).ToList();
var details = GetEntities<T_SK_RISK_IDENTIFY_DETAIL>(i => identityTempIds.Contains(i.RISK_IDENTIFY_ID), new BaseFilter(filter.OrgId)).ToList(); var details = GetEntities<T_SK_RISK_IDENTIFY_DETAIL>(i => identityIds.Contains(i.RISK_IDENTIFY_ID), new BaseFilter(filter.OrgId)).ToList();
var identityDetailIds = details.Select(t => t.ID).ToList(); var identityDetailIds = details.Select(t => t.ID).ToList();
var identityDetailMes = GetEntities<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>(i => identityDetailIds.Contains(i.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); var identityDetailMes = GetEntities<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>(i => identityDetailIds.Contains(i.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList();
//var identitys = this.GetEntities<T_SK_RISK_IDENTIFY>(t => t.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)); //var identitys = this.GetEntities<T_SK_RISK_IDENTIFY>(t => t.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)t.APPLY_DEPARTMENT_ID));
@ -13065,20 +13066,14 @@ namespace APT.BaseData.Services.DomainServices
re.REQUIRE_ID = itemReq.REQUIRE_ID; re.REQUIRE_ID = itemReq.REQUIRE_ID;
resultRequires.Add(re); resultRequires.Add(re);
} }
} }
var identityIds = identitys.Select(t => t.ID).ToList(); 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());
//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, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault());
if (detailList.Any()) if (detailList.Any())
{ {
foreach (var item in detailList) foreach (var item in detailList)
{ {
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 departIdss = identitys.Where(t => identityIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList(); var userIdss = identitys.Where(t => identityIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().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(); T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL();
ideDetail.ORG_ID = entity.ORG_ID; ideDetail.ORG_ID = entity.ORG_ID;
ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID;
@ -13090,31 +13085,28 @@ namespace APT.BaseData.Services.DomainServices
ideDetail.RISK_NAME_ID = item.RISK_NAME_ID; ideDetail.RISK_NAME_ID = item.RISK_NAME_ID;
ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION; ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION;
ideDetail.TYPE_ID = item.TYPE_ID; ideDetail.TYPE_ID = item.TYPE_ID;
//ideDetail.MEASURE = item.MEASURE;
//ideDetail.EMERGENCY = item.EMERGENCY;
ideDetail.ENABLE_STATUS = item.ENABLE_STATUS; ideDetail.ENABLE_STATUS = item.ENABLE_STATUS;
ideDetail.MARK = item.MARK; ideDetail.MARK = item.MARK;
//管控措施 //管控措施
var identifyDetailIds = temp.Select(t => t.ID).ToList(); var mesTemps = identityDetailMes.Select(m => m.MEASURE).Distinct().ToList();
var mesTemps = identityDetailMes.Where(t => identifyDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID)).OrderBy(n => n.NUM).Select(m => m.MEASURE).Distinct().ToList();
if (mesTemps != null && mesTemps.Any()) if (mesTemps != null && mesTemps.Any())
{ {
var i = 1; var i = 1;
foreach (var mm in mesTemps) foreach (var mm in mesTemps)
{ {
//T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE(); T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE();
//mes.ORG_ID = filter.OrgId; mes.ORG_ID = filter.OrgId;
//mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID; mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID;
//mes.NUM = i; mes.NUM = i;
//mes.MEASURE = mm; mes.MEASURE = mm;
//resultDetailMes.Add(mes); resultDetailMes.Add(mes);
var mtemp = i + "、" + mm + ""; var mtemp = i + "、" + mm + "";
ideDetail.MEASURE = ideDetail.MEASURE + mtemp; ideDetail.MEASURE = ideDetail.MEASURE + mtemp;
i++; i++;
} }
} }
//应急处置 //应急处置
var emergeTemps = temp.OrderBy(t => t.NUM).Select(m => m.EMERGENCY).Distinct().ToList(); var emergeTemps = details.Select(m => m.EMERGENCY).Distinct().ToList();
if (emergeTemps != null && emergeTemps.Any()) if (emergeTemps != null && emergeTemps.Any())
{ {
var i = 1; var i = 1;
@ -13194,7 +13186,9 @@ namespace APT.BaseData.Services.DomainServices
if (resultDetail != null && resultDetail.Count > 0) if (resultDetail != null && resultDetail.Count > 0)
BantchSaveEntityNoCommit(resultDetail); BantchSaveEntityNoCommit(resultDetail);
if (resultRequires != null && resultRequires.Count > 0) if (resultRequires != null && resultRequires.Count > 0)
BantchSaveEntityNoCommit(resultRequires); BantchSaveEntityNoCommit(resultRequires);
if (resultDetailMes != null && resultDetailMes.Count > 0)
BantchSaveEntityNoCommit(resultDetailMes);
}); });
//待办同步 //待办同步
NotificationTaskService.TaskToHead(listAppDetail, null, null, taskFinish); NotificationTaskService.TaskToHead(listAppDetail, null, null, taskFinish);

View File

@ -1213,7 +1213,7 @@ namespace APT.PP.WebApi.Controllers.Api
List<T_SK_RISK_IDENTIFY> identitys = new List<T_SK_RISK_IDENTIFY>(); List<T_SK_RISK_IDENTIFY> identitys = new List<T_SK_RISK_IDENTIFY>();
List<T_SK_RISK_IDENTIFY_DETAIL> details = new List<T_SK_RISK_IDENTIFY_DETAIL>(); List<T_SK_RISK_IDENTIFY_DETAIL> details = new List<T_SK_RISK_IDENTIFY_DETAIL>();
List<T_SK_RISK_IDENTIFY_REQUIRE> requires = new List<T_SK_RISK_IDENTIFY_REQUIRE>(); List<T_SK_RISK_IDENTIFY_REQUIRE> requires = new List<T_SK_RISK_IDENTIFY_REQUIRE>();
//List<T_SK_RISK_IDENTIFY_DETAIL_MEASURE> mesList = new List<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>(); List<T_SK_RISK_IDENTIFY_DETAIL_MEASURE> mesList = new List<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>();
filter.IgnoreDataRule = true; filter.IgnoreDataRule = true;
Expression<Func<T_SK_IDENTIFY_EVALUATION_PLAN, bool>> expression = t => t.IS_DELETED == false && t.ISSEND == false && t.START_DATE.Value.Date == dtNow.Date && t.STATUS == PFStandardStatus.Archived; Expression<Func<T_SK_IDENTIFY_EVALUATION_PLAN, bool>> expression = t => t.IS_DELETED == false && t.ISSEND == false && t.START_DATE.Value.Date == dtNow.Date && t.STATUS == PFStandardStatus.Archived;
List<T_SK_IDENTIFY_EVALUATION_PLAN> plans = this.GetOrderEntities(expression, filter, new string[] { "Nav_Details.Nav_DetailUsers", "Nav_Requires" }).ToList(); List<T_SK_IDENTIFY_EVALUATION_PLAN> plans = this.GetOrderEntities(expression, filter, new string[] { "Nav_Details.Nav_DetailUsers", "Nav_Requires" }).ToList();
@ -1383,12 +1383,12 @@ namespace APT.PP.WebApi.Controllers.Api
{ {
foreach (var detais in detailList) foreach (var detais in detailList)
{ {
//T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE(); T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE();
//mes.ORG_ID = library.ORG_ID; mes.ORG_ID = library.ORG_ID;
//mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID; mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID;
//mes.NUM = detais.NUM; mes.NUM = detais.NUM;
//mes.MEASURE = detais.MEASURES_NAME; mes.MEASURE = detais.MEASURES_NAME;
//mesList.Add(mes); mesList.Add(mes);
var temp = (detais.NUM == null || detais.NUM == 0) ? "1" : detais.NUM + "、" + detais.MEASURES_NAME +""; var temp = (detais.NUM == null || detais.NUM == 0) ? "1" : detais.NUM + "、" + detais.MEASURES_NAME +"";
ideDetail.MEASURE = ideDetail.MEASURE + temp; ideDetail.MEASURE = ideDetail.MEASURE + temp;
} }
@ -1426,8 +1426,8 @@ namespace APT.PP.WebApi.Controllers.Api
BantchSaveEntityNoCommit(requires); BantchSaveEntityNoCommit(requires);
if (details != null && details.Any()) if (details != null && details.Any())
BantchSaveEntityNoCommit(details); BantchSaveEntityNoCommit(details);
//if (mesList != null && mesList.Any()) if (mesList != null && mesList.Any())
// BantchSaveEntityNoCommit(mesList); BantchSaveEntityNoCommit(mesList);
}); });
} }
catch (Exception ex) catch (Exception ex)

View File

@ -64,7 +64,8 @@ namespace APT.SK.WebApi.Controllers.Api
if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any()) if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any())
{ {
deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList();
deleteMeasureIds = this.GetEntities<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); var detailMes = this.GetEntities<T_SK_RISK_IDENTIFY_DETAIL_MEASURE>(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).ToList();
deleteMeasureIds = detailMes.Select(t => t.ID).ToList();
foreach (var item in details) 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 && t.MEASURE == item.MEASURE 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
@ -73,6 +74,17 @@ namespace APT.SK.WebApi.Controllers.Api
{ {
item.MARK = SKMarkEnum.Update; item.MARK = SKMarkEnum.Update;
} }
if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any())
{
foreach (var mes in item.Nav_DetailMeasures)
{
var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE);
if (newMes == null && item.MARK != SKMarkEnum.Add)
{
item.MARK = SKMarkEnum.Update;
}
}
}
} }
} }
if (details != null && details.Any()) if (details != null && details.Any())
@ -83,10 +95,13 @@ namespace APT.SK.WebApi.Controllers.Api
item.RISK_IDENTIFY_ID = entity.ID; item.RISK_IDENTIFY_ID = entity.ID;
if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any())
{ {
foreach (var item2 in item.Nav_DetailMeasures) foreach (var mm in item.Nav_DetailMeasures)
{ {
T_SK_RISK_IDENTIFY_DETAIL_MEASURE item2 = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE();
item2.ORG_ID = entity.ORG_ID; item2.ORG_ID = entity.ORG_ID;
item2.RISK_IDENTIFY_DETAIL_ID = item.ID; item2.RISK_IDENTIFY_DETAIL_ID = item.ID;
item2.MEASURE = mm.MEASURE;
item2.NUM = mm.NUM;
measureList.Add(item2); measureList.Add(item2);
var temp = (item2.NUM == null || item2.NUM == 0) ? "1" : item2.NUM + "、" + item2.MEASURE + Environment.NewLine; var temp = (item2.NUM == null || item2.NUM == 0) ? "1" : item2.NUM + "、" + item2.MEASURE + Environment.NewLine;
item.MEASURE = item.MEASURE + temp; item.MEASURE = item.MEASURE + temp;