From 5637cc30af4b7e488ef5abe5cef19dec48a27ebc 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: Mon, 7 Sep 2026 16:31:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A5=A8=E5=AE=A1=E6=89=B9?=
=?UTF-8?q?=E6=B5=81=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CrucialLicenseJobController.cs | 114 +++++++++++++-----
1 file changed, 87 insertions(+), 27 deletions(-)
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())