diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs index 25a555e..4304a9c 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs @@ -21,6 +21,7 @@ using Autofac.Features.Metadata; using Castle.DynamicProxy.Generators.Emitters.SimpleAST; using InfluxData.Net.InfluxDb.Models.Responses; using log4net.Filter; +using Microsoft.AspNetCore.JsonPatch.Operations; using Microsoft.AspNetCore.Mvc; using MySqlX.XDevAPI.Common; using Newtonsoft.Json; @@ -847,6 +848,7 @@ namespace APT.FO.WebApi.Controllers /// private Guid? GetApproveUser(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, T_FO_CRUCIAL_LICENSE_JOB entity, List users,List departs, List roles, Guid loginUserId) { + var operationName = entity.APPLY_USER_ID == loginUserId ? "发起人" : "作业人员"; Guid? approveId = null; var zbRoles = roles.FirstOrDefault(t => t.NAME.Contains("值班")); var sdRoles = roles.Where(t => t.NAME.Contains("属地")).ToList(); @@ -935,6 +937,7 @@ namespace APT.FO.WebApi.Controllers } else { + var roleName = roles.FirstOrDefault(t => t.ID == approveTempDetail.APPROVE_ROLE_ID)?.NAME; if (approveTempDetail.DEPARTMENT_TYPE == (int)FMDepartmentType.Company) { var approveIds = users.Where(x => x.APPROVE_ROLE_ID == approveTempDetail.APPROVE_ROLE_ID).Select(t => t.ID).ToList(); @@ -949,8 +952,20 @@ namespace APT.FO.WebApi.Controllers { approveId = dep.USER_ID.Value; } else if (dep.CHARGEUSER_ID.HasValue) { approveId = dep.CHARGEUSER_ID.Value; } + else + { + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); + } + } + else + { + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } + else + { + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); + } } else if (approveIds.Count() == 1) { @@ -965,9 +980,13 @@ namespace APT.FO.WebApi.Controllers GetDepartmentId((Guid)user.DEPARTMENT_ID, ref departmentIds); if (departmentIds.Any()) { - var dep = departs.FirstOrDefault(t => departmentIds.Contains(t.ID) && t.DEPARTMENT_TYPE != 3 && approveIds.Contains((Guid)t.CHARGEUSER_ID)); + var dep = departs.FirstOrDefault(t => departmentIds.Contains(t.ID) && t.DEPARTMENT_TYPE != 5 && approveIds.Contains((Guid)t.CHARGEUSER_ID)); if (dep != null) approveId = dep.CHARGEUSER_ID; + else + { + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); + } } } } @@ -1015,7 +1034,8 @@ namespace APT.FO.WebApi.Controllers } else { - continue; + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1045,8 +1065,9 @@ namespace APT.FO.WebApi.Controllers break; } else - { - continue; + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1076,8 +1097,9 @@ namespace APT.FO.WebApi.Controllers break; } else - { - continue; + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1107,8 +1129,9 @@ namespace APT.FO.WebApi.Controllers break; } else - { - continue; + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1139,7 +1162,8 @@ namespace APT.FO.WebApi.Controllers } else { - continue; + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1169,8 +1193,9 @@ namespace APT.FO.WebApi.Controllers break; } else - { - continue; + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1195,8 +1220,35 @@ namespace APT.FO.WebApi.Controllers break; } else + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); + } + } + } + else if (approveTempDetail.DEPARTMENT_TYPE == (int)FMDepartmentType.Workshop && approveTempDetail.Nav_ApproveRole != null && approveTempDetail.Nav_ApproveRole.NAME == "班组负责人") + { + var temp = users.FirstOrDefault(x => x.APPROVE_ROLE_ID == approveTempDetail.APPROVE_ROLE_ID && x.DEPARTMENT_ID == item); + if (temp != null) + { + approveId = temp.ID; + break; + } + else + { + var dep = departs.FirstOrDefault(t => t.ID == item); + if (dep != null && dep.DEPARTMENT_TYPE == 20) { - continue; + if (dep.USER_ID.HasValue) + { approveId = dep.USER_ID.Value; } + else if (dep.CHARGEUSER_ID.HasValue) + { approveId = dep.CHARGEUSER_ID.Value; } + break; + } + else + { + //continue; + throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员"); } } } @@ -1210,19 +1262,21 @@ namespace APT.FO.WebApi.Controllers } else { - var dep = departs.FirstOrDefault(t => t.ID == item); - if (dep != null && dep.DEPARTMENT_TYPE == approveTempDetail.DEPARTMENT_TYPE) - { - if (dep.USER_ID.HasValue) - { approveId = dep.USER_ID.Value; } - else if (dep.CHARGEUSER_ID.HasValue) - { approveId = dep.CHARGEUSER_ID.Value; } - break; - } - else - { - continue; - } + //var dep = departs.FirstOrDefault(t => t.ID == item); + //if (dep != null && dep.DEPARTMENT_TYPE == approveTempDetail.DEPARTMENT_TYPE) + //{ + // if (dep.USER_ID.HasValue) + // { approveId = dep.USER_ID.Value; } + // else if (dep.CHARGEUSER_ID.HasValue) + // { approveId = dep.CHARGEUSER_ID.Value; } + // break; + //} + //else + //{ + // continue; + //} + + throw new Exception(operationName + "对应审批角色"+ roleName + "未配置人员"); } } } @@ -1389,14 +1443,15 @@ namespace APT.FO.WebApi.Controllers .ToList(); distinctTempDetails.ForEach(t => { + var roleName = roles.FirstOrDefault(m => m.ID == t.APPROVE_ROLE_ID)?.NAME; var userList = new List(); userIds.ForEach(x => { - var userId = GetApproveUser(t,entity, users, departs, roles,(Guid)x); + var userId = GetApproveUser(t,entity, users, departs, roles,(Guid)x); + var targetUser = users.FirstOrDefault(u => u.ID == userId); if (userId != null) { // 过滤:userId 对应的用户必须是启用状态(ENABLE_STATUS == 0) - var targetUser = users.FirstOrDefault(u => u.ID == userId); if (targetUser != null && targetUser.ENABLE_STATUS == 0) { var userAgent = userVacations.FirstOrDefault(v => v.USER_ID == userId); @@ -1411,6 +1466,11 @@ namespace APT.FO.WebApi.Controllers userList.Add(detailUserAgent); } } + else + { + var targetName = entity.APPLY_USER_ID == x ? "发起人" : "作业人员"; + throw new Exception(targetName + "对应审批角色" + roleName+ "未配置人员"); + } }); userList = userList.Distinct().ToList(); if (userList != null && userList.Any())