diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index abaef01..f4675e9 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -12142,7 +12142,11 @@ namespace APT.BaseData.Services.DomainServices } if (user == null) { - throw new Exception("未找到整改责任人对应组织的安全员和负责人,请确认基础配置已完善"); + GetUserInfo(departFist.PARENT_ID, ref user); + } + if (user == null) + { + throw new Exception("未找到整改责任人对应组织的安全员和负责人,也未配置安全总监,请确认基础配置已完善"); } notice = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE(); notice.ORG_ID = entity.ORG_ID; @@ -12260,8 +12264,53 @@ namespace APT.BaseData.Services.DomainServices }); } return true; + } + /// + /// 向上逐级找人,部门级负责人找不到直接给安全总监 + /// + /// + /// + private void GetUserInfo(Guid? departmentId, ref T_FM_USER userInfo) + { + var department = GetEntity(t => t.ID == departmentId); + if (department != null) + { + if (department.DEPARTMENT_TYPE != (int)FMDepartmentType.Company) + { + userInfo = GetEntity(t => t.DEPARTMENT_ID == department.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); + if (userInfo == null) + { + if (department.USER_ID != null) + { + userInfo = GetEntity(t => t.ID == department.USER_ID); + } + if (userInfo == null) + { + GetUserInfo(department.PARENT_ID, ref userInfo); + return; + } + else + { + return; + } + } + else + { + return; + } + } + else + { + userInfo = GetEntity(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + return; + } + } + else + { + userInfo = null; + return; + } } - private bool BackUpdate_SKHiddenDangerRectifyRecord(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false, bool isApprovel = true) { #region 审批公用 @@ -13168,11 +13217,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -13208,11 +13262,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUserUp.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -13256,11 +13315,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUserUp.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -13559,11 +13623,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -13598,11 +13667,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -13640,11 +13714,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -14292,11 +14371,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -14331,11 +14415,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } @@ -14375,11 +14464,16 @@ namespace APT.BaseData.Services.DomainServices } else { - userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID; - if (userId != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - //公司负责人 - user = users.FirstOrDefault(t => t.ID == userId); + //总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); + } + if (user != null) + { + userId = user.ID; } } } diff --git a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs index a967942..222f246 100644 --- a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs +++ b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs @@ -557,14 +557,14 @@ namespace APT.FM.WebApi.Controllers.Api.FM if (entity.Nav_Person.POST_ID == null) { throw new Exception("岗位不允许为空!"); - } - + } + var isRepeat = allUsers.FirstOrDefault(t => t.CODE == entity.CODE); + if (isRepeat != null) + this.ThrowError("050001"); if (isAdd == null) { userList = this.GetEntities(t => (t.CODE == entity.CODE || t.APPROVE_ROLE_ID == entity.APPROVE_ROLE_ID) && t.ORG_ID == entity.ORG_ID, null, "Nav_Department").ToList(); - var isRepeat = userList.FirstOrDefault(t => t.CODE == entity.CODE); - if (isRepeat != null) - this.ThrowError("050001"); + if (entity.ORG_ID != Guid.Parse("b043b28b-bbc3-c452-6052-4fba1457abfa")) { #region // @@ -681,9 +681,9 @@ namespace APT.FM.WebApi.Controllers.Api.FM { dbRuleStr = string.Join(',', isAdd.Nav_BelongRoles.OrderBy(x => x.BELONG_ROLE_ID).Select(x => x.BELONG_ROLE_ID).Distinct().ToList()); userList = this.GetEntities(t => (t.CODE == entity.CODE || t.APPROVE_ROLE_ID == entity.APPROVE_ROLE_ID) && t.ID != entity.ID && t.ORG_ID == entity.ORG_ID, null, "Nav_Department").ToList(); - var isRepeat = userList.FirstOrDefault(t => t.CODE == entity.CODE); - if (isRepeat != null) - this.ThrowError("050001"); + //var isRepeat = userList.FirstOrDefault(t => t.CODE == entity.CODE); + //if (isRepeat != null) + // this.ThrowError("050001"); } if (entity.DEPARTMENT_ID == null) { diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 4914ed9..32b6035 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -1854,11 +1854,12 @@ namespace APT.PP.WebApi.Controllers.Api } else { - //找公司 - var companyInfo = departs.FirstOrDefault(t => t.ID == departUser?.PARENT_ID); - if (companyInfo != null && companyInfo.USER_ID != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if (user == null) { - user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID); + //找总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); } } } @@ -2046,11 +2047,12 @@ namespace APT.PP.WebApi.Controllers.Api } else { - //找公司 - var companyInfo = departs.FirstOrDefault(t => t.ID == parentId); - if (companyInfo != null && companyInfo.USER_ID != null) + //安全总监 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); + if(user == null) { - user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID); + //找总经理 + user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理")); } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs index aa5f0b7..6491de9 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs @@ -56,9 +56,9 @@ namespace APT.SK.WebApi.Controllers.Api entity.Nav_Evaluations = null; entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; - if (entity.START_DATE < DateTime.Now.AddDays(3)) + if (entity.START_DATE.Value.Date < DateTime.Now.AddDays(3).Date) { - throw new Exception("辨识开始时间必须大于"+ DateTime.Now.AddDays(3)); + throw new Exception("辨识开始时间必须大于"+ DateTime.Now.AddDays(3).Date.ToString("yyyy-MM-dd")); } List deleteUserIds = new List(); List deleteIds = new List(); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs index 6c9a69b..215b89f 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs @@ -93,13 +93,13 @@ namespace APT.SK.WebApi.Controllers.Api /// 主键ID /// [HttpGet, Route("SKDelete")] - public JsonActionResult SKDelete(string id) + public JsonActionResult SKDelete(string ids) { return SafeExecute(() => { - if (string.IsNullOrEmpty(id)) + if (string.IsNullOrEmpty(ids)) this.ThrowError("060010"); - var area = this.GetEntity(id); + var area = this.GetEntity(ids); var areas = new List(); if (area != null) {