工作票审批流修改
This commit is contained in:
parent
c2d0982364
commit
5637cc30af
@ -21,6 +21,7 @@ using Autofac.Features.Metadata;
|
|||||||
using Castle.DynamicProxy.Generators.Emitters.SimpleAST;
|
using Castle.DynamicProxy.Generators.Emitters.SimpleAST;
|
||||||
using InfluxData.Net.InfluxDb.Models.Responses;
|
using InfluxData.Net.InfluxDb.Models.Responses;
|
||||||
using log4net.Filter;
|
using log4net.Filter;
|
||||||
|
using Microsoft.AspNetCore.JsonPatch.Operations;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using MySqlX.XDevAPI.Common;
|
using MySqlX.XDevAPI.Common;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@ -847,6 +848,7 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private Guid? GetApproveUser(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, T_FO_CRUCIAL_LICENSE_JOB entity, List<T_FM_USER> users,List<T_FM_DEPARTMENT> departs, List<T_PF_APPROVAL_ROLE> roles, Guid loginUserId)
|
private Guid? GetApproveUser(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, T_FO_CRUCIAL_LICENSE_JOB entity, List<T_FM_USER> users,List<T_FM_DEPARTMENT> departs, List<T_PF_APPROVAL_ROLE> roles, Guid loginUserId)
|
||||||
{
|
{
|
||||||
|
var operationName = entity.APPLY_USER_ID == loginUserId ? "发起人" : "作业人员";
|
||||||
Guid? approveId = null;
|
Guid? approveId = null;
|
||||||
var zbRoles = roles.FirstOrDefault(t => t.NAME.Contains("值班"));
|
var zbRoles = roles.FirstOrDefault(t => t.NAME.Contains("值班"));
|
||||||
var sdRoles = roles.Where(t => t.NAME.Contains("属地")).ToList();
|
var sdRoles = roles.Where(t => t.NAME.Contains("属地")).ToList();
|
||||||
@ -935,6 +937,7 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var roleName = roles.FirstOrDefault(t => t.ID == approveTempDetail.APPROVE_ROLE_ID)?.NAME;
|
||||||
if (approveTempDetail.DEPARTMENT_TYPE == (int)FMDepartmentType.Company)
|
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();
|
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; }
|
{ approveId = dep.USER_ID.Value; }
|
||||||
else if (dep.CHARGEUSER_ID.HasValue)
|
else if (dep.CHARGEUSER_ID.HasValue)
|
||||||
{ approveId = dep.CHARGEUSER_ID.Value; }
|
{ 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)
|
else if (approveIds.Count() == 1)
|
||||||
{
|
{
|
||||||
@ -965,9 +980,13 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
GetDepartmentId((Guid)user.DEPARTMENT_ID, ref departmentIds);
|
GetDepartmentId((Guid)user.DEPARTMENT_ID, ref departmentIds);
|
||||||
if (departmentIds.Any())
|
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)
|
if (dep != null)
|
||||||
approveId = dep.CHARGEUSER_ID;
|
approveId = dep.CHARGEUSER_ID;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1015,7 +1034,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1046,7 +1066,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1077,7 +1098,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1108,7 +1130,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1139,7 +1162,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1170,7 +1194,8 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//continue;
|
||||||
|
throw new Exception(operationName + "对应审批角色" + roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1196,7 +1221,34 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
continue;
|
//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)
|
||||||
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
var dep = departs.FirstOrDefault(t => t.ID == item);
|
//var dep = departs.FirstOrDefault(t => t.ID == item);
|
||||||
if (dep != null && dep.DEPARTMENT_TYPE == approveTempDetail.DEPARTMENT_TYPE)
|
//if (dep != null && dep.DEPARTMENT_TYPE == approveTempDetail.DEPARTMENT_TYPE)
|
||||||
{
|
//{
|
||||||
if (dep.USER_ID.HasValue)
|
// if (dep.USER_ID.HasValue)
|
||||||
{ approveId = dep.USER_ID.Value; }
|
// { approveId = dep.USER_ID.Value; }
|
||||||
else if (dep.CHARGEUSER_ID.HasValue)
|
// else if (dep.CHARGEUSER_ID.HasValue)
|
||||||
{ approveId = dep.CHARGEUSER_ID.Value; }
|
// { approveId = dep.CHARGEUSER_ID.Value; }
|
||||||
break;
|
// break;
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
continue;
|
// continue;
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
throw new Exception(operationName + "对应审批角色"+ roleName + "未配置人员");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1389,14 +1443,15 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
.ToList();
|
.ToList();
|
||||||
distinctTempDetails.ForEach(t =>
|
distinctTempDetails.ForEach(t =>
|
||||||
{
|
{
|
||||||
|
var roleName = roles.FirstOrDefault(m => m.ID == t.APPROVE_ROLE_ID)?.NAME;
|
||||||
var userList = new List<Guid?>();
|
var userList = new List<Guid?>();
|
||||||
userIds.ForEach(x =>
|
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)
|
if (userId != null)
|
||||||
{
|
{
|
||||||
// 过滤:userId 对应的用户必须是启用状态(ENABLE_STATUS == 0)
|
// 过滤:userId 对应的用户必须是启用状态(ENABLE_STATUS == 0)
|
||||||
var targetUser = users.FirstOrDefault(u => u.ID == userId);
|
|
||||||
if (targetUser != null && targetUser.ENABLE_STATUS == 0)
|
if (targetUser != null && targetUser.ENABLE_STATUS == 0)
|
||||||
{
|
{
|
||||||
var userAgent = userVacations.FirstOrDefault(v => v.USER_ID == userId);
|
var userAgent = userVacations.FirstOrDefault(v => v.USER_ID == userId);
|
||||||
@ -1411,6 +1466,11 @@ namespace APT.FO.WebApi.Controllers
|
|||||||
userList.Add(detailUserAgent);
|
userList.Add(detailUserAgent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var targetName = entity.APPLY_USER_ID == x ? "发起人" : "作业人员";
|
||||||
|
throw new Exception(targetName + "对应审批角色" + roleName+ "未配置人员");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
userList = userList.Distinct().ToList();
|
userList = userList.Distinct().ToList();
|
||||||
if (userList != null && userList.Any())
|
if (userList != null && userList.Any())
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user