Merge branch 'master' of http://121.41.2.71:3000/wyw/mh_jy_safe
This commit is contained in:
commit
1c673e94ba
@ -5153,11 +5153,15 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
{
|
||||
try
|
||||
{
|
||||
var dtNow = DateTime.Now;
|
||||
var year = dtNow.Year;
|
||||
var month = dtNow.Month;
|
||||
var day = dtNow.Day;
|
||||
var week = dtNow.DayOfWeek;
|
||||
DateTime dt = DateTime.Now;
|
||||
if (filter.Parameter1 != null)
|
||||
{
|
||||
dt = DateTime.Parse(filter.Parameter1);
|
||||
}
|
||||
var year = dt.Year;
|
||||
var month = dt.Month;
|
||||
var day = dt.Day;
|
||||
var week = dt.DayOfWeek;
|
||||
List<T_SK_PLAN_SET> setList = new List<T_SK_PLAN_SET>();
|
||||
//查配置表,有配才执行
|
||||
var timeSets = GetEntities<T_SK_PLAN_SET>(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList();
|
||||
@ -5235,92 +5239,105 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> detailContents = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
|
||||
if (setList != null && setList.Any())
|
||||
{
|
||||
//岗位排查
|
||||
var checkTypes = this.GetEntities<T_SK_CHECK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId));
|
||||
var checkTypeIds = checkTypes.Where(t => t.NAME == "岗位排查").Select(m => m.ID).ToList();
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User");
|
||||
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID != null && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole");
|
||||
var checkCycles = setList.Select(t => t.CHECK_CYCLE).Distinct().ToList();
|
||||
var productions = this.GetEntities<T_FM_USER_PRODUCTION_UNIT_SET>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
|
||||
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_ProductionUnit").ToList();
|
||||
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
|
||||
var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
|
||||
var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
|
||||
var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
|
||||
if (librarys != null && librarys.Any())
|
||||
//企业库
|
||||
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_ProductionUnit").ToList();
|
||||
var libIds = librarys.Select(t => t.ID).ToList();
|
||||
//管控层级
|
||||
var libraryDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
|
||||
//管控措施
|
||||
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
|
||||
var libDetailIds = libraryDetails.Select(t => t.ID).ToList();
|
||||
//检查内容
|
||||
var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED && libDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
|
||||
var libContentIds = contents.Select(t => t.ID).ToList();
|
||||
//检查层级
|
||||
var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED && libContentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
|
||||
//取检查人
|
||||
var contentDepartIds = contentDeparts.Select(t => t.ID).ToList();
|
||||
var contentDepartUsers = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_USER>(t => !t.IS_DELETED && contentDepartIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID), new BaseFilter(filter.OrgId), "Nav_User").ToList();
|
||||
//隐患描述
|
||||
//var contentHiddens = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
|
||||
//辨识岗位
|
||||
var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
|
||||
|
||||
//检查清单(生产单元+检查层级+检查类型+检查周期+检查部门:取辨识部门+检查对象:取辨识岗位)
|
||||
if (contentDeparts != null && contentDeparts.Any())
|
||||
{
|
||||
foreach (var item in librarys)
|
||||
foreach (var item in contentDeparts)
|
||||
{
|
||||
var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var detailIds = details.Select(t => t.ID).ToList();
|
||||
var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList();
|
||||
var contentTempIds = contentTemps.Select(t => t.ID).ToList();
|
||||
var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList();
|
||||
if (contentDepartTemps != null && contentDepartTemps.Any())
|
||||
var conFirst = contents.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
|
||||
var detailFirst = libraryDetails.FirstOrDefault(t => t.ID == conFirst?.ENTERPRISE_LIBRARY_DETAIL_ID);
|
||||
var libFirst = librarys.FirstOrDefault(t => t.ID == detailFirst?.ENTERPRISE_LIBRARY_ID);
|
||||
if (item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
|
||||
{
|
||||
foreach (var depart in contentDepartTemps)
|
||||
var postFirst = posts.FirstOrDefault(t => t.ENTERPRISE_LIBRARY_ID == libFirst?.ID && t.DEPARTMENT_ID == item.DEPARTMENT_ID);
|
||||
if (postFirst != null && postFirst.Nav_PostDetails != null && postFirst.Nav_PostDetails.Any())
|
||||
{
|
||||
var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList();
|
||||
var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
|
||||
if (first != null && first.Any())
|
||||
foreach (var item2 in postFirst.Nav_PostDetails)
|
||||
{
|
||||
foreach (var post in first)
|
||||
{
|
||||
//没角色的才取岗位
|
||||
var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID != null && t.Nav_Person.POST_ID == post?.ID);
|
||||
if (userRole == null || (userRole != null && userRole.APPROVE_ROLE_ID == null))
|
||||
//去除有审批角色的人
|
||||
var userCharge = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == item2.POST_ID && t.APPROVE_ROLE_ID != null && t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == item.DEPARTMENT_ID);
|
||||
if (userCharge == null)
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = post?.NAME;
|
||||
de.MineType = item.MineType;
|
||||
de.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
de.POST_ID = post?.ID;
|
||||
de.POST_NAME = item2.Nav_Post?.NAME;
|
||||
de.MineType = libFirst != null ? libFirst.MineType : SKProductionUnit.All;
|
||||
de.PRODUCTION_UNIT_ID = libFirst != null ? libFirst.PRODUCTION_UNIT_ID :null;
|
||||
de.AREA_NAME = libFirst?.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = detailFirst?.ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = libFirst?.ID;
|
||||
de.TYPE_NAME = item.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = item.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = item.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = item.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = item.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = item.CHECK_TYPE;
|
||||
de.POST_ID = item2?.POST_ID;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||
if (userInfo == null)
|
||||
{
|
||||
var depart = departs.FirstOrDefault(t => t.ID == item.DEPARTMENT_ID);
|
||||
if (depart != null && depart.USER_ID != null)
|
||||
{
|
||||
userInfo = users.FirstOrDefault(t => t.ID == depart.USER_ID);
|
||||
}
|
||||
}
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = "未配置辨识岗位";
|
||||
de.MineType = item.MineType;
|
||||
de.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
de.POST_NAME = userInfo?.Nav_ApproveRole?.NAME;
|
||||
de.POST_ID = userInfo?.Nav_Person?.POST_ID;
|
||||
de.MineType = libFirst != null ? libFirst.MineType : SKProductionUnit.All;
|
||||
de.PRODUCTION_UNIT_ID = libFirst != null ? libFirst.PRODUCTION_UNIT_ID : null;
|
||||
de.AREA_NAME = libFirst?.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = detailFirst?.ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = libFirst?.ID;
|
||||
de.TYPE_NAME = item.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = item.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = item.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = item.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = item.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = item.CHECK_TYPE;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (detailContents != null && detailContents.Any())
|
||||
{
|
||||
foreach (var item in contents)
|
||||
{
|
||||
var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID);
|
||||
var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID);
|
||||
item.RISK_NAME = lib?.RISK_NAME;
|
||||
item.AREA_ID = lib?.AREA_ID;
|
||||
item.Nav_Area = lib?.Nav_Area;
|
||||
}
|
||||
foreach (var item in detailContents)
|
||||
{
|
||||
if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
|
||||
@ -5392,11 +5409,7 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
}
|
||||
list = list.Where(m => m.CheckDepartId != null).OrderBy(y => y.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
}
|
||||
DateTime dt = DateTime.Now;
|
||||
if (filter.Parameter1 != null)
|
||||
{
|
||||
dt = DateTime.Parse(filter.Parameter1);
|
||||
}
|
||||
|
||||
DateTime minTime = dt.AddMinutes(0);
|
||||
DateTime maxTime = dt.AddMinutes(60);
|
||||
var shiftClassList = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.START_TIME >= minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList();
|
||||
@ -5561,7 +5574,7 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.DEPARTMENT_TYPE == item.DepartType && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle && t.CREATE_TIME > startTime && (t.CREATE_TIME.Value.Date == dt.Date || t.CREATE_TIME.Value.Date == dt.AddDays(-1).Date));
|
||||
}
|
||||
}
|
||||
if ((exist == null && item.CheckPost == "班组负责人") || (exist == null && item.CheckPost != "班组负责人" && setTime != null && dtNow.Hour == setTime.CHECKTIME.Value.Hour))
|
||||
if ((exist == null && item.CheckPost == "班组负责人") || (exist == null && item.CheckPost != "班组负责人" && setTime != null && dt.Hour == setTime.CHECKTIME.Value.Hour))
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE();
|
||||
safeNotice.ORG_ID = filter.OrgId;
|
||||
|
||||
@ -2589,7 +2589,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
foreach (var item2 in postFirst.Nav_PostDetails)
|
||||
{
|
||||
//去除有审批角色的人
|
||||
var userCharge = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == item2.POST_ID && t.APPROVE_ROLE_ID != null);
|
||||
var userCharge = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == item2.POST_ID && t.APPROVE_ROLE_ID != null && t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == item.DEPARTMENT_ID);
|
||||
if (userCharge == null)
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user