This commit is contained in:
wyw 2025-11-25 11:40:55 +08:00
commit 1c5f8ecc73
5 changed files with 62 additions and 52 deletions

View File

@ -12848,7 +12848,8 @@ namespace APT.BaseData.Services.DomainServices
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_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 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));
@ -13033,8 +13034,8 @@ namespace APT.BaseData.Services.DomainServices
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);
List<T_SK_RISK_IDENTIFY> identitys = this.GetOrderEntities(expression, filter).ToList();
var identityTempIds = 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 identityIds = identitys.Select(t => t.ID).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 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));
@ -13066,19 +13067,13 @@ namespace APT.BaseData.Services.DomainServices
resultRequires.Add(re);
}
}
var identityIds = identitys.Select(t => t.ID).ToList();
//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());
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 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 identifyIds = temp.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();
var departIdss = identitys.Where(t => identityIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
var userIdss = identitys.Where(t => identityIds.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;
@ -13090,31 +13085,28 @@ namespace APT.BaseData.Services.DomainServices
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;
//管控措施
var identifyDetailIds = temp.Select(t => t.ID).ToList();
var mesTemps = identityDetailMes.Where(t => identifyDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID)).OrderBy(n => n.NUM).Select(m => m.MEASURE).Distinct().ToList();
var mesTemps = identityDetailMes.Select(m => m.MEASURE).Distinct().ToList();
if (mesTemps != null && mesTemps.Any())
{
var i = 1;
foreach (var mm in mesTemps)
{
//T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE();
//mes.ORG_ID = filter.OrgId;
//mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID;
//mes.NUM = i;
//mes.MEASURE = mm;
//resultDetailMes.Add(mes);
T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE();
mes.ORG_ID = filter.OrgId;
mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID;
mes.NUM = i;
mes.MEASURE = mm;
resultDetailMes.Add(mes);
var mtemp = i + "、" + mm + "";
ideDetail.MEASURE = ideDetail.MEASURE + mtemp;
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())
{
var i = 1;
@ -13195,6 +13187,8 @@ namespace APT.BaseData.Services.DomainServices
BantchSaveEntityNoCommit(resultDetail);
if (resultRequires != null && resultRequires.Count > 0)
BantchSaveEntityNoCommit(resultRequires);
if (resultDetailMes != null && resultDetailMes.Count > 0)
BantchSaveEntityNoCommit(resultDetailMes);
});
//待办同步
NotificationTaskService.TaskToHead(listAppDetail, null, null, taskFinish);
@ -13550,7 +13544,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
emeList.Add(co[1]);
}
@ -13596,7 +13590,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
typeList.Add(co[1]);
}
@ -13642,7 +13636,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
departList.Add(co[1]);
}
@ -13688,7 +13682,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
postList.Add(co[1]);
}
@ -14435,7 +14429,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
mesList.Add(co[1]);
}
@ -14481,7 +14475,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
emeList.Add(co[1]);
}
@ -14527,7 +14521,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
typeList.Add(co[1]);
}
@ -14574,7 +14568,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
departList.Add(co[1]);
}
@ -14621,7 +14615,7 @@ namespace APT.BaseData.Services.DomainServices
if (c.Contains("、"))
{
var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries);
if (co.Length > 0)
if (co.Length > 2)
{
postList.Add(co[1]);
}
@ -15271,6 +15265,7 @@ namespace APT.BaseData.Services.DomainServices
}
notice = NotificationTaskService.InsertUserNoticeTaskModel("风险检查关联表", dou.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "SK026");
}
entity.Nav_Details = null;
UnifiedCommit(() =>
{
if (modelApp != null)

View File

@ -48,7 +48,7 @@ namespace APT.FO.WebApi.Controllers
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id))
this.ThrowError("060010");
var entity = this.GetEntity<T_FO_FIRE_JOB>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_FireDepartment",
var entity = this.GetEntity<T_FO_FIRE_JOB>(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_FireDepartment", "Nav_Users.Nav_User",
"Nav_SafeUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_Area", "Nav_Type", "Nav_MonitorUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_Risks", "Nav_Files.Nav_ImgFile", "Nav_Users.Nav_UserType", "Nav_Users.Nav_Train", "Nav_Users.Nav_UserFiles.Nav_ImgFile",
"Nav_FireFiles.Nav_ImgFile", "Nav_MonitorFiles.Nav_ImgFile", "Nav_DispatchUser.Nav_UserSignFiles.Nav_ImgFile");
if (entity != null)

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_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_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;
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();
@ -1383,12 +1383,12 @@ namespace APT.PP.WebApi.Controllers.Api
{
foreach (var detais in detailList)
{
//T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE();
//mes.ORG_ID = library.ORG_ID;
//mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID;
//mes.NUM = detais.NUM;
//mes.MEASURE = detais.MEASURES_NAME;
//mesList.Add(mes);
T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE();
mes.ORG_ID = library.ORG_ID;
mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID;
mes.NUM = detais.NUM;
mes.MEASURE = detais.MEASURES_NAME;
mesList.Add(mes);
var temp = (detais.NUM == null || detais.NUM == 0) ? "1" : detais.NUM + "、" + detais.MEASURES_NAME +"";
ideDetail.MEASURE = ideDetail.MEASURE + temp;
}
@ -1426,8 +1426,8 @@ namespace APT.PP.WebApi.Controllers.Api
BantchSaveEntityNoCommit(requires);
if (details != null && details.Any())
BantchSaveEntityNoCommit(details);
//if (mesList != null && mesList.Any())
// BantchSaveEntityNoCommit(mesList);
if (mesList != null && mesList.Any())
BantchSaveEntityNoCommit(mesList);
});
}
catch (Exception ex)

View File

@ -200,10 +200,10 @@ namespace APT.SK.WebApi.Controllers.Api
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
{
if (departList.Where(t => t.IS_DELETED == false).Count() == 0)
{
throw new Exception("管控层级不能为空");
}
//if (departList.Where(t => t.IS_DELETED == false).Count() == 0)
//{
// throw new Exception("管控层级不能为空");
//}
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
entity.STATUS = PFStandardStatus.Approving;

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())
{
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)
{
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;
}
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())
@ -83,10 +95,13 @@ namespace APT.SK.WebApi.Controllers.Api
item.RISK_IDENTIFY_ID = entity.ID;
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.RISK_IDENTIFY_DETAIL_ID = item.ID;
item2.MEASURE = mm.MEASURE;
item2.NUM = mm.NUM;
measureList.Add(item2);
var temp = (item2.NUM == null || item2.NUM == 0) ? "1" : item2.NUM + "、" + item2.MEASURE + Environment.NewLine;
item.MEASURE = item.MEASURE + temp;