From df24bf4e9b4c8330cb6d9072e8709c1358bc6d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 30 Sep 2025 11:51:12 +0800 Subject: [PATCH] 2 --- .../Controllers/Api/SKController.cs | 942 +++++++++--------- 1 file changed, 473 insertions(+), 469 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index aa813a5..28ba829 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -4833,476 +4833,480 @@ namespace APT.PP.WebApi.Controllers.Api }); } - /// - /// 触发安全检查通知(最新版) - /// - /// - /// - [HttpPost, Route("SafeCheckNoticeNeww")] - public JsonActionResult SafeCheckNoticeNeww([FromBody] KeywordFilter filter) - { - return SafeExecute(() => - { - try - { - var dtNow = DateTime.Now; - var year = dtNow.Year; - var month = dtNow.Month; - var day = dtNow.Day; - var week = dtNow.DayOfWeek; - List setList = new List(); - //查配置表,有配才执行 - var timeSets = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); - if (timeSets != null && timeSets.Any()) - { - foreach (var set in timeSets) - { - switch (set.CHECK_CYCLE) - { - case SKPLANCHECKFREQUENCYEnum.Year: - if (set.MONTH == month && set.DATA == day) - { - setList.Add(set); - } - break; - case SKPLANCHECKFREQUENCYEnum.HalfYear: - if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day)) - { - setList.Add(set); - } - break; - case SKPLANCHECKFREQUENCYEnum.Date: - setList.Add(set); - break; - //case SKPLANCHECKFREQUENCYEnum.Class: - // setList.Add(set); - break; - case SKPLANCHECKFREQUENCYEnum.Week: - if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week) - { - setList.Add(set); - } - break; - case SKPLANCHECKFREQUENCYEnum.Month: - if (set.DATA == day) - { - setList.Add(set); - } - break; - case SKPLANCHECKFREQUENCYEnum.Quarter: - if (set.MONTH == 1) - { - if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day) - { - setList.Add(set); - } - } - if (set.MONTH == 2) - { - if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day) - { - setList.Add(set); - } - } - if (set.MONTH == 3) - { - if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day) - { - setList.Add(set); - } - } - break; - default: - break; - } - } - } - List notices = new List(); - List safeNotices = new List(); - List safeDetialNotices = new List(); - List records = new List(); - List recordDetails = new List(); - List recordDetailUsers = new List(); - List list = new List(); - List detailContents = new List(); - if (setList != null && setList.Any()) - { - var checkTypes = this.GetEntities(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 => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User"); - var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !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 librarys = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_ProductionUnit").ToList(); - var libraryDetails = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList(); - var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList(); - var contentDeparts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList(); - var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList(); - if (librarys != null && librarys.Any()) - { - foreach (var item in librarys) - { - 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()) - { - foreach (var depart in contentDepartTemps) - { - 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 post in first) - { - //没角色的才取岗位 - var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == post?.ID).APPROVE_ROLE_ID; - if (userRole == 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.MINE_NAME = item.Nav_ProductionUnit?.NAME; - 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; - detailContents.Add(de); - } - } - } - else - { - 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.MINE_NAME = item.Nav_ProductionUnit?.NAME; - 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; - 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)) - { - - } - else - { - if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级) - { - item.POST_NAME = "班组负责人"; - } - else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级) - { - item.POST_NAME = "车间安全员"; - } - else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级) - { - item.POST_NAME = "部门安全员"; - } - else - { - item.POST_NAME = "安环部安全员"; - } - var user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME); - if (user != null) - { - item.POST_ID = user.Nav_Person?.POST_ID; - } - } - } - var group = detailContents.Where(m => checkCycles.Contains(m.CHECK_CYCLE)).GroupBy(t => new { t.MineType,t.PRODUCTION_UNIT_ID, t.MINE_NAME,t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME, t.POST_ID }).ToList(); - foreach (var item in group) - { - CheckListNew listNew = new CheckListNew(); - listNew.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; - listNew.Cycle = item.Key.CHECK_CYCLE; - listNew.DepartType = item.Key.CHECK_TYPE; - listNew.MineType = item.Key.MINE_NAME; - listNew.CheckType = item.Key.TYPE_NAME; - listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription(); - listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription(); - listNew.Num = (int)item.Key.CHECK_TYPE; - listNew.CheckDepart = item.Key.DEPART_NAME; - listNew.CheckPostId = item.Key.POST_ID; - listNew.CheckPost = item.Key.POST_NAME; - listNew.CheckDepartId = item.Key.DEPARTMENT_ID; - listNew.CheckTypeId = item.Key.CHECK_TYPE_ID; - var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); - var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList(); - if (temps.Any()) - { - List listDetail = new List(); - foreach (var tem in temps) - { - CheckListDetail checkListDetail = new CheckListDetail(); - checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID; - checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT; - checkListDetail.RISK_NAME = tem.RISK_NAME; - checkListDetail.RISK_AREA_ID = tem.AREA_ID; - checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME; - checkListDetail.CHECKPROOF = tem.CHECK_BASIC; - checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD; - listDetail.Add(checkListDetail); - } - listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList(); - } - list.Add(listNew); - } - list = list.OrderBy(n => n.MineType).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(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(); - var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); - var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); - var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); - var personIds = new List(); - if (shiftClassList != null && shiftClassList.Any()) - { - foreach (var item in shiftClassList) - { - if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) - { - var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList(); - personIds.AddRange(ids); - } - } - } - var baseFilter = new BaseFilter(filter.GetOrgId()); - baseFilter.IgnoreDataRule = true; - baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 - Expression> expression = i => i.IS_DELETED == false && i.CREATE_TIME.Value.Date == dt.Date; - List noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList(); - //取岗位排查表 - var postCheckList = list.Where(t => t.CheckTypeId != null && checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); - if (postCheckList != null && postCheckList.Any()) - { - foreach (var item in postCheckList) - { - //触发安全检查记录给对应的岗位工(有排班才触发) - var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_Person != null && t.Nav_Person.POST_ID == item.CheckPostId); - if (userInfo != null) - { - T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD(); - record.ORG_ID = filter.OrgId; - record.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; - record.APPLY_USER_ID = userInfo.ID; - record.MineType = item.Mine; - record.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; - record.CHECK_TYPE_ID = item.CheckTypeId; - record.PLANCHECKFREQUENCY = item.Cycle; - record.DEPARTMENT_TYPE = item.DepartType; - record.STATUS = PFStandardStatus.Draft; - record.ISAUTO = true; - records.Add(record); - if (item.details != null && item.details.Any()) - { - foreach (var item2 in item.details) - { - var i = 1; - //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); - //if (repeat == null) - { - T_SK_SECURITY_INSPECTION_RECORD_DETAIL detail = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL(); - detail.ORG_ID = filter.OrgId; - detail.SECURITY_INSPECTION_RECORD_ID = record.ID; - detail.RISK_AREA_ID = item2.RISK_AREA_ID; - detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; - detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; - detail.CHECKPROOF = item2.CHECKPROOF; - detail.CHECKSTANDARD = item2.CHECKSTANDARD; - detail.NUM = i; - recordDetails.Add(detail); - i++; - T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER deUser = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER(); - deUser.ORG_ID = filter.OrgId; - deUser.SECURITY_INSPECTION_RECORD_DETAIL_ID = detail.ID; - deUser.USER_ID = userInfo.ID; - deUser.ISMAINCHECK = true; - recordDetailUsers.Add(deUser); - } - } - } - var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); - var endtime = DateTime.Now.AddHours(24); - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) - { - endtime = DateTime.Now.AddDays(7); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) - { - endtime = DateTime.Now.AddMonths(1); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) - { - endtime = DateTime.Now.AddMonths(6); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) - { - endtime = DateTime.Now.AddMonths(12); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) - { - endtime = DateTime.Now.AddMonths(3); - } - var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "岗位排查记录" + date, record.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK010"); - notices.Add(notice); - } - } - } - //取非岗位排查 - var checkList = list.Where(t => t.CheckTypeId != null && !checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); - if (checkList != null && checkList.Any()) - { - foreach (var item in checkList) - { - var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); - //触发安全检查通知给对应的审批角色 - if (item.CheckPost == "安环部安全员") - { - userInfo = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); - } - if (item.CheckPost == "班组负责人") - { - //判断排班 - userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); - } - if (userInfo == null) - { - userInfo = departs.FirstOrDefault(t => t.ID == (Guid)item.CheckDepartId)?.Nav_User; - } - if (userInfo != null) - { - var setTime = setList.FirstOrDefault(t => t.MineType == item.Mine && t.CHECK_CYCLE == item.Cycle && t.CHECKTIME.Value.Hour == dt.Hour); - if (item.CheckPost != "班组负责人" && setTime == null) + /// + /// 触发安全检查通知(最新版) + /// + /// + /// + [HttpPost, Route("SafeCheckNoticeNeww")] + public JsonActionResult SafeCheckNoticeNeww([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + var dtNow = DateTime.Now; + var year = dtNow.Year; + var month = dtNow.Month; + var day = dtNow.Day; + var week = dtNow.DayOfWeek; + List setList = new List(); + //查配置表,有配才执行 + var timeSets = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); + if (timeSets != null && timeSets.Any()) + { + foreach (var set in timeSets) + { + switch (set.CHECK_CYCLE) + { + case SKPLANCHECKFREQUENCYEnum.Year: + if (set.MONTH == month && set.DATA == day) { - continue; - } - T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE(); - safeNotice.ORG_ID = filter.OrgId; - safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; - safeNotice.APPLY_USER_ID = userInfo.ID; - safeNotice.MineType = item.Mine; - safeNotice.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; - safeNotice.CHECK_TYPE_ID = item.CheckTypeId; - safeNotice.PLANCHECKFREQUENCY = item.Cycle; - safeNotice.DEPARTMENT_TYPE = item.DepartType; - safeNotice.STATUS = PFStandardStatus.Draft; - safeNotice.ISAUTO = true; - safeNotices.Add(safeNotice); - if (item.details != null && item.details.Any()) - { - foreach (var item2 in item.details) - { - var i = 1; - //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); - //if (repeat == null) - { - T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); - detail.ORG_ID = filter.OrgId; - detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID; - detail.RISK_AREA_ID = item2.RISK_AREA_ID; - detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; - detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; - detail.CHECKPROOF = item2.CHECKPROOF; - detail.CHECKSTANDARD = item2.CHECKSTANDARD; - detail.NUM = i; - safeDetialNotices.Add(detail); - } - } - } - var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); - var endtime = DateTime.Now.AddHours(24); - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) - { - endtime = DateTime.Now.AddDays(7); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) - { - endtime = DateTime.Now.AddMonths(1); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) - { - endtime = DateTime.Now.AddMonths(6); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) - { - endtime = DateTime.Now.AddMonths(12); - } - if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) - { - endtime = DateTime.Now.AddMonths(3); - } - var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "安全检查通知" + date, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006"); - notices.Add(notice); - } - } - } - } - UnifiedCommit(() => - { - if (notices != null && notices.Any()) - BantchSaveEntityNoCommit(notices); - if (safeNotices != null && safeNotices.Any()) - BantchSaveEntityNoCommit(safeNotices); - if (safeDetialNotices != null && safeDetialNotices.Any()) - BantchSaveEntityNoCommit(safeDetialNotices); - if (records != null && records.Any()) - BantchSaveEntityNoCommit(records); - if (recordDetails != null && recordDetails.Any()) - BantchSaveEntityNoCommit(recordDetails); - if (recordDetailUsers != null && recordDetailUsers.Any()) - BantchSaveEntityNoCommit(recordDetailUsers); - }); - } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); - } - return true; - }); + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.HalfYear: + if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day)) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Date: + setList.Add(set); + break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(set); + break; + case SKPLANCHECKFREQUENCYEnum.Week: + if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Month: + if (set.DATA == day) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Quarter: + if (set.MONTH == 1) + { + if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day) + { + setList.Add(set); + } + } + if (set.MONTH == 2) + { + if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day) + { + setList.Add(set); + } + } + if (set.MONTH == 3) + { + if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day) + { + setList.Add(set); + } + } + break; + default: + break; + } + } + } + List notices = new List(); + List safeNotices = new List(); + List safeDetialNotices = new List(); + List records = new List(); + List recordDetails = new List(); + List recordDetailUsers = new List(); + List list = new List(); + List detailContents = new List(); + if (setList != null && setList.Any()) + { + var checkTypes = this.GetEntities(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 => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User"); + var users = this.GetEntities(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 librarys = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area").ToList(); + var libraryDetails = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList(); + var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList(); + var contentDeparts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList(); + var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList(); + if (librarys != null && librarys.Any()) + { + foreach (var item in librarys) + { + 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()) + { + foreach (var depart in contentDepartTemps) + { + 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 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)) + { + 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.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; + detailContents.Add(de); + } + } + } + else + { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + de.POST_NAME = "未配置辨识岗位"; + de.MineType = item.MineType; + 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; + 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)) + { + + } + else + { + if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级) + { + item.POST_NAME = "班组负责人"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级) + { + item.POST_NAME = "车间安全员"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级) + { + item.POST_NAME = "部门安全员"; + } + else + { + item.POST_NAME = "安环部安全员"; + } + var user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME); + if (user != null) + { + item.POST_ID = user.Nav_Person?.POST_ID; + } + } + } + var group = detailContents.Where(m => checkCycles.Contains(m.CHECK_CYCLE)).GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME, t.POST_ID }).ToList(); + foreach (var item in group) + { + CheckListNew listNew = new CheckListNew(); + listNew.Mine = item.Key.MineType; + listNew.Cycle = item.Key.CHECK_CYCLE; + listNew.DepartType = item.Key.CHECK_TYPE; + listNew.MineType = item.Key.MineType.GetDescription(); + listNew.CheckType = item.Key.TYPE_NAME; + listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription(); + listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription(); + listNew.Num = (int)item.Key.CHECK_TYPE; + listNew.CheckDepart = item.Key.DEPART_NAME; + listNew.CheckPostId = item.Key.POST_ID; + listNew.CheckPost = item.Key.POST_NAME; + listNew.CheckDepartId = item.Key.DEPARTMENT_ID; + listNew.CheckTypeId = item.Key.CHECK_TYPE_ID; + var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); + var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList(); + if (temps.Any()) + { + List listDetail = new List(); + foreach (var tem in temps) + { + CheckListDetail checkListDetail = new CheckListDetail(); + checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID; + checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT; + checkListDetail.RISK_NAME = tem.RISK_NAME; + checkListDetail.RISK_AREA_ID = tem.AREA_ID; + checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME; + checkListDetail.CHECKPROOF = tem.CHECK_BASIC; + checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD; + listDetail.Add(checkListDetail); + } + listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList(); + } + list.Add(listNew); + } + list = list.Where(m => m.CheckDepartId != null).OrderBy(y => y.MineType).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(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(); + var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); + var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); + var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + var personIds = new List(); + if (shiftClassList != null && shiftClassList.Any()) + { + foreach (var item in shiftClassList) + { + if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) + { + var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList(); + personIds.AddRange(ids); + } + } + } + var baseFilter = new BaseFilter(filter.GetOrgId()); + baseFilter.IgnoreDataRule = true; + baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 + Expression> expression = i => i.IS_DELETED == false && i.CREATE_TIME > minTime && i.CREATE_TIME <= maxTime; + List noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList(); + baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; + Expression> expressionR = i => i.IS_DELETED == false && i.CREATE_TIME > minTime && i.CREATE_TIME <= maxTime; + List recordExsiss = this.GetOrderEntities(expressionR, baseFilter).ToList(); + //取岗位排查表 + var postCheckList = list.Where(t => t.CheckTypeId != null && checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); + if (postCheckList != null && postCheckList.Any()) + { + foreach (var item in postCheckList) + { + //触发安全检查记录给对应的岗位工(有排班才触发) + var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID) && t.Nav_Person != null && t.Nav_Person.POST_ID == item.CheckPostId); + if (userInfo != null) + { + //判断是否重复触发 + var exist = recordExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle); + if (exist == null) + { + T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD(); + record.ORG_ID = filter.OrgId; + record.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; + record.APPLY_USER_ID = userInfo.ID; + record.MineType = item.Mine; + record.CHECK_TYPE_ID = item.CheckTypeId; + record.PLANCHECKFREQUENCY = item.Cycle; + record.DEPARTMENT_TYPE = item.DepartType; + record.STATUS = PFStandardStatus.Draft; + record.ISAUTO = true; + records.Add(record); + if (item.details != null && item.details.Any()) + { + foreach (var item2 in item.details) + { + var i = 1; + //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); + //if (repeat == null) + { + T_SK_SECURITY_INSPECTION_RECORD_DETAIL detail = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL(); + detail.ORG_ID = filter.OrgId; + detail.SECURITY_INSPECTION_RECORD_ID = record.ID; + detail.RISK_AREA_ID = item2.RISK_AREA_ID; + detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; + detail.CHECKPROOF = item2.CHECKPROOF; + detail.CHECKSTANDARD = item2.CHECKSTANDARD; + detail.NUM = i; + recordDetails.Add(detail); + i++; + T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER deUser = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER(); + deUser.ORG_ID = filter.OrgId; + deUser.SECURITY_INSPECTION_RECORD_DETAIL_ID = detail.ID; + deUser.USER_ID = userInfo.ID; + deUser.ISMAINCHECK = true; + recordDetailUsers.Add(deUser); + } + } + } + var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); + var endtime = DateTime.Now.AddHours(24); + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) + { + endtime = DateTime.Now.AddDays(7); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) + { + endtime = DateTime.Now.AddMonths(1); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) + { + endtime = DateTime.Now.AddMonths(6); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) + { + endtime = DateTime.Now.AddMonths(12); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) + { + endtime = DateTime.Now.AddMonths(3); + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "岗位排查记录" + date, record.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK010"); + notices.Add(notice); + } + } + } + } + //取非岗位排查 + var checkList = list.Where(t => t.CheckTypeId != null && !checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); + if (checkList != null && checkList.Any()) + { + foreach (var item in checkList) + { + var setTime = setList.FirstOrDefault(t => t.MineType == item.Mine && t.CHECK_CYCLE == item.Cycle); + var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + //触发安全检查通知给对应的审批角色 + if (item.CheckPost == "安环部安全员") + { + userInfo = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + } + if (item.CheckPost == "班组负责人") + { + //判断排班 + userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + } + if (userInfo == null && item.CheckDepartId != null && item.CheckPost != "班组负责人") + { + userInfo = departs.FirstOrDefault(t => t.ID == (Guid)item.CheckDepartId)?.Nav_User; + } + if (userInfo != null) + { + //判断是否重复触发 + var exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle); + if ((exist == null && item.CheckPost == "班组负责人") || (exist == null && item.CheckPost != "班组负责人" && setTime != null && dtNow.Hour == setTime.CHECKTIME.Value.Hour)) + { + T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE(); + safeNotice.ORG_ID = filter.OrgId; + safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; + safeNotice.APPLY_USER_ID = userInfo.ID; + safeNotice.MineType = item.Mine; + safeNotice.CHECK_TYPE_ID = item.CheckTypeId; + safeNotice.PLANCHECKFREQUENCY = item.Cycle; + safeNotice.DEPARTMENT_TYPE = item.DepartType; + safeNotice.STATUS = PFStandardStatus.Draft; + safeNotice.ISAUTO = true; + safeNotices.Add(safeNotice); + if (item.details != null && item.details.Any()) + { + foreach (var item2 in item.details) + { + var i = 1; + //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); + //if (repeat == null) + { + T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); + detail.ORG_ID = filter.OrgId; + detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID; + detail.RISK_AREA_ID = item2.RISK_AREA_ID; + detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; + detail.CHECKPROOF = item2.CHECKPROOF; + detail.CHECKSTANDARD = item2.CHECKSTANDARD; + detail.NUM = i; + safeDetialNotices.Add(detail); + } + } + } + var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); + var endtime = DateTime.Now.AddHours(24); + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) + { + endtime = DateTime.Now.AddDays(7); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) + { + endtime = DateTime.Now.AddMonths(1); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) + { + endtime = DateTime.Now.AddMonths(6); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) + { + endtime = DateTime.Now.AddMonths(12); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) + { + endtime = DateTime.Now.AddMonths(3); + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "安全检查通知" + date, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006"); + notices.Add(notice); + } + } + } + } + } + UnifiedCommit(() => + { + if (notices != null && notices.Any()) + BantchSaveEntityNoCommit(notices); + if (safeNotices != null && safeNotices.Any()) + BantchSaveEntityNoCommit(safeNotices); + if (safeDetialNotices != null && safeDetialNotices.Any()) + BantchSaveEntityNoCommit(safeDetialNotices); + if (records != null && records.Any()) + BantchSaveEntityNoCommit(records); + if (recordDetails != null && recordDetails.Any()) + BantchSaveEntityNoCommit(recordDetails); + if (recordDetailUsers != null && recordDetailUsers.Any()) + BantchSaveEntityNoCommit(recordDetailUsers); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + return true; + }); } } }