修复
This commit is contained in:
parent
9a7512cd6e
commit
1c2637dc3a
@ -1498,59 +1498,62 @@ namespace APT.BaseData.Services.Services.FM
|
|||||||
/// <param name="taskLast">上一个审批待办</param>
|
/// <param name="taskLast">上一个审批待办</param>
|
||||||
public void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast)
|
public void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast)
|
||||||
{
|
{
|
||||||
var checkAdd = appdetails.FirstOrDefault(e => e.ISHEAD && e.IS_CURRENT);
|
if (appdetails != null)
|
||||||
if (checkAdd == null)
|
{
|
||||||
{
|
var checkAdd = appdetails.FirstOrDefault(e => e.ISHEAD && e.IS_CURRENT);
|
||||||
//审批的最后一步 IS_CURRENT =false
|
if (checkAdd == null)
|
||||||
if (taskNext == null && (listModelNext == null || listModelNext.Count() < 1) && taskLast != null)
|
{
|
||||||
{
|
//审批的最后一步 IS_CURRENT =false
|
||||||
checkAdd = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID.HasValue && e.ISHEAD && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
|
if (taskNext == null && (listModelNext == null || listModelNext.Count() < 1) && taskLast != null)
|
||||||
if (checkAdd != null)
|
{
|
||||||
{
|
checkAdd = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID.HasValue && e.ISHEAD && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
|
||||||
if (checkAdd.NUM != appdetails.Max(e => e.NUM))
|
if (checkAdd != null)
|
||||||
{
|
{
|
||||||
checkAdd = null;
|
if (checkAdd.NUM != appdetails.Max(e => e.NUM))
|
||||||
}
|
{
|
||||||
}
|
checkAdd = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (checkAdd != null)
|
||||||
|
{
|
||||||
|
var isLastDeal = false;//上一个是审批相关
|
||||||
|
if (taskLast != null)
|
||||||
|
{
|
||||||
|
var checkLast = appdetails.FirstOrDefault(e => e.ISHEAD && e.APPROVE_USER_ID.HasValue && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
|
||||||
|
if (checkLast != null)
|
||||||
|
isLastDeal = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IEnumerable<T_FM_NOTIFICATION_TASK> listSync = null;
|
||||||
|
if (listModelNext != null && listModelNext.Any())
|
||||||
|
{
|
||||||
|
var userids = appdetails.Where(e => e.ISHEAD && e.IS_CURRENT && e.APPROVE_USER_ID.HasValue).Select(e => e.APPROVE_USER_ID.Value);
|
||||||
|
if (userids != null && userids.Any())
|
||||||
|
{
|
||||||
|
listSync = listModelNext.Where(e => userids.Contains(e.USER_ID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isLastDeal && taskLast != null)
|
||||||
|
{
|
||||||
|
this.UpdateEntityByTenant(taskLast, HeadHelper.HeadtelnetCode);
|
||||||
|
}
|
||||||
|
if (taskNext != null)
|
||||||
|
{
|
||||||
|
this.AddEntityByTenant(taskNext, HeadHelper.HeadtelnetCode);
|
||||||
|
}
|
||||||
|
if (listSync != null && listSync.Count() > 0)
|
||||||
|
{
|
||||||
|
this.AddEntitiesByTenant(listSync, HeadHelper.HeadtelnetCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (checkAdd != null)
|
|
||||||
{
|
|
||||||
var isLastDeal = false;//上一个是审批相关
|
|
||||||
if (taskLast != null)
|
|
||||||
{
|
|
||||||
var checkLast = appdetails.FirstOrDefault(e => e.ISHEAD && e.APPROVE_USER_ID.HasValue && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
|
|
||||||
if (checkLast != null)
|
|
||||||
isLastDeal = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
IEnumerable<T_FM_NOTIFICATION_TASK> listSync = null;
|
|
||||||
if (listModelNext != null && listModelNext.Any())
|
|
||||||
{
|
|
||||||
var userids = appdetails.Where(e => e.ISHEAD && e.IS_CURRENT && e.APPROVE_USER_ID.HasValue).Select(e => e.APPROVE_USER_ID.Value);
|
|
||||||
if (userids != null && userids.Any())
|
|
||||||
{
|
|
||||||
listSync = listModelNext.Where(e => userids.Contains(e.USER_ID));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isLastDeal && taskLast != null)
|
|
||||||
{
|
|
||||||
this.UpdateEntityByTenant(taskLast, HeadHelper.HeadtelnetCode);
|
|
||||||
}
|
|
||||||
if (taskNext != null)
|
|
||||||
{
|
|
||||||
this.AddEntityByTenant(taskNext, HeadHelper.HeadtelnetCode);
|
|
||||||
}
|
|
||||||
if (listSync != null && listSync.Count() > 0)
|
|
||||||
{
|
|
||||||
this.AddEntitiesByTenant(listSync, HeadHelper.HeadtelnetCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex) { }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -12729,10 +12729,15 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
departIds.Add(currentDepart.ID);
|
departIds.Add(currentDepart.ID);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == currentDepart.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
var departUser = departs.FirstOrDefault(t => t.ID == currentDepart.ID);
|
||||||
if (user != null)
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -12743,10 +12748,16 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
departIds.AddRange(classIds);
|
departIds.AddRange(classIds);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == currentDepart.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
//负责人
|
||||||
if (user != null)
|
var departUser = departs.FirstOrDefault(t => t.ID == currentDepart.ID);
|
||||||
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//DepartmentService.GetDepartmentIds(entity.ORG_ID.Value, new List<Guid>() { currentDepart.ID }, ref departIds);
|
//DepartmentService.GetDepartmentIds(entity.ORG_ID.Value, new List<Guid>() { currentDepart.ID }, ref departIds);
|
||||||
@ -12809,7 +12820,7 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//车间负责人
|
//负责人
|
||||||
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
if (departUser != null)
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
@ -13042,10 +13053,15 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
departIds.AddRange(classIds);
|
departIds.AddRange(classIds);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == currentDepart.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
var departUser = departs.FirstOrDefault(t => t.ID == currentDepart.ID);
|
||||||
if (user != null)
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13132,24 +13148,34 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
userId = user.ID;
|
userId = user.ID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
|
||||||
|
if (userId == null)
|
||||||
|
{
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
|
||||||
|
if (parentId != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
userId = user.ID;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//负责人
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null)
|
||||||
|
{
|
||||||
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//var departId = departs.FirstOrDefault(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 0);
|
|
||||||
//if (departId != null)
|
|
||||||
//{
|
|
||||||
// user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
|
||||||
// if (user != null)
|
|
||||||
// {
|
|
||||||
// userId = user.ID;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
|
||||||
// if (user != null)
|
|
||||||
// {
|
|
||||||
// userId = user.ID;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
var requre = this.GetEntity<T_SK_REQUEST>(t => !t.IS_DELETED);
|
var requre = this.GetEntity<T_SK_REQUEST>(t => !t.IS_DELETED);
|
||||||
var filter = new BaseFilter(entity.ORG_ID);
|
var filter = new BaseFilter(entity.ORG_ID);
|
||||||
@ -13609,10 +13635,18 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
departIds.AddRange(shopIds);
|
departIds.AddRange(shopIds);
|
||||||
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
|
var classIds = departs.Where(t => t.PARENT_ID != null && shopIds.Contains(t.PARENT_ID.Value)).Select(t => t.ID).ToList();
|
||||||
departIds.AddRange(classIds);
|
departIds.AddRange(classIds);
|
||||||
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
if (user == null)
|
||||||
if (user != null)
|
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
var departUser = departs.FirstOrDefault(t => t.ID == currentDepart.ID);
|
||||||
|
if (departUser != null)
|
||||||
|
{
|
||||||
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (currentDepart.DEPARTMENT_TYPE == 15)
|
else if (currentDepart.DEPARTMENT_TYPE == 15)
|
||||||
@ -13633,10 +13667,15 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
if (user != null)
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13663,10 +13702,15 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.DEPARTMENT_ID == parentId2 && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId2);
|
||||||
if (user != null)
|
if (departUser != null)
|
||||||
{
|
{
|
||||||
userId = user.ID;
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13689,6 +13733,34 @@ namespace APT.BaseData.Services.DomainServices
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
|
||||||
|
if (userId == null)
|
||||||
|
{
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == currentDepart.ID)?.PARENT_ID;
|
||||||
|
if (parentId != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
userId = user.ID;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//负责人
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null)
|
||||||
|
{
|
||||||
|
userId = departUser.USER_ID;
|
||||||
|
if (userId != null)
|
||||||
|
{
|
||||||
|
//currentDepart = departUser;
|
||||||
|
user = users.FirstOrDefault(t => t.ID == userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var requre = this.GetEntity<T_SK_EVALUATION>(t => !t.IS_DELETED);
|
var requre = this.GetEntity<T_SK_EVALUATION>(t => !t.IS_DELETED);
|
||||||
var filter = new BaseFilter(entity.ORG_ID);
|
var filter = new BaseFilter(entity.ORG_ID);
|
||||||
|
|||||||
@ -1,51 +1,52 @@
|
|||||||
using APT.BaseData.Domain.Entities.FM;
|
using APT.BaseData.Domain.ApiModel;
|
||||||
using APT.BaseData.Domain.IServices.FM;
|
|
||||||
using APT.BaseData.Domain.IServices;
|
|
||||||
using APT.Infrastructure.Core;
|
|
||||||
using APT.Utility;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using APT.WebApi.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using APT.MS.Domain.Entities.SK;
|
|
||||||
using APT.MS.Domain.Enums.SK;
|
|
||||||
using APT.MS.Domain.Enums;
|
|
||||||
using APT.MS.Domain.Entities.SC.PT;
|
|
||||||
using System.Linq;
|
|
||||||
using APT.BaseData.Domain.Enums;
|
|
||||||
using APT.BaseData.Domain.Entities;
|
using APT.BaseData.Domain.Entities;
|
||||||
|
using APT.BaseData.Domain.Entities.FM;
|
||||||
|
using APT.BaseData.Domain.Enums;
|
||||||
using APT.BaseData.Domain.Enums.PF;
|
using APT.BaseData.Domain.Enums.PF;
|
||||||
using APT.BaseData.Domain.ApiModel;
|
using APT.BaseData.Domain.IServices;
|
||||||
using NPOI.SS.Formula.Functions;
|
using APT.BaseData.Domain.IServices.FM;
|
||||||
using System.Threading.Tasks;
|
using APT.Infrastructure.Core;
|
||||||
using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata;
|
using APT.MS.Domain.Entities.BS;
|
||||||
using log4net.Filter;
|
using APT.MS.Domain.Entities.LR;
|
||||||
using Microsoft.Extensions.DependencyModel;
|
using APT.MS.Domain.Entities.SC.PT;
|
||||||
using NPOI.Util;
|
using APT.MS.Domain.Entities.SK;
|
||||||
using System.Numerics;
|
using APT.MS.Domain.Enums;
|
||||||
|
using APT.MS.Domain.Enums.SK;
|
||||||
|
using APT.Utility;
|
||||||
|
using APT.WebApi.Models;
|
||||||
using IdentityModel;
|
using IdentityModel;
|
||||||
using InfluxData.Net.InfluxDb.Models.Responses;
|
using InfluxData.Net.InfluxDb.Models.Responses;
|
||||||
using NPOI.POIFS.FileSystem;
|
using log4net.Filter;
|
||||||
using System.Security.Principal;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using APT.MS.Domain.Entities.BS;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Org.BouncyCastle.Utilities;
|
using Microsoft.Extensions.DependencyModel;
|
||||||
using System.Reflection.Metadata;
|
|
||||||
using MySqlX.XDevAPI.Common;
|
|
||||||
using System.Collections.Immutable;
|
|
||||||
using Org.BouncyCastle.Crypto;
|
|
||||||
using Org.BouncyCastle.Asn1.Tsp;
|
|
||||||
using System.Runtime.Intrinsics.X86;
|
|
||||||
using static Google.Protobuf.WireFormat;
|
|
||||||
using NPOI.HSSF.UserModel;
|
|
||||||
using System.Runtime.Intrinsics.Arm;
|
|
||||||
using APT.MS.Domain.Entities.LR;
|
|
||||||
using System.Linq.Expressions;
|
|
||||||
using System.Security.Policy;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using System.Security.Cryptography;
|
|
||||||
using System.Collections;
|
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using MySqlX.XDevAPI.Common;
|
||||||
|
using NPOI.HSSF.UserModel;
|
||||||
|
using NPOI.POIFS.FileSystem;
|
||||||
|
using NPOI.POIFS.Properties;
|
||||||
|
using NPOI.SS.Formula.Functions;
|
||||||
|
using NPOI.Util;
|
||||||
|
using Org.BouncyCastle.Asn1.Tsp;
|
||||||
|
using Org.BouncyCastle.Crypto;
|
||||||
|
using Org.BouncyCastle.Utilities;
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Immutable;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Numerics;
|
||||||
|
using System.Reflection.Metadata;
|
||||||
|
using System.Runtime.Intrinsics.Arm;
|
||||||
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using System.Security.Policy;
|
||||||
|
using System.Security.Principal;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static Google.Protobuf.WireFormat;
|
||||||
|
using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata;
|
||||||
|
|
||||||
namespace APT.PP.WebApi.Controllers.Api
|
namespace APT.PP.WebApi.Controllers.Api
|
||||||
{
|
{
|
||||||
@ -1481,7 +1482,8 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
List<T_SK_IDENTIFY_EVALUATION_PLAN> planTemps = this.GetOrderEntities(expression, baseFilter).ToList();
|
List<T_SK_IDENTIFY_EVALUATION_PLAN> planTemps = this.GetOrderEntities(expression, baseFilter).ToList();
|
||||||
var planIds = planTemps.Select(t => t.ID).ToList();
|
var planIds = planTemps.Select(t => t.ID).ToList();
|
||||||
var newFilter = new BaseFilter(filter.GetOrgId());
|
var newFilter = new BaseFilter(filter.GetOrgId());
|
||||||
newFilter.IgnoreDataRule = true;
|
newFilter.IgnoreDataRule = true;
|
||||||
|
baseFilter.SelectField = new string[] { "ID", "IDENTIFY_EVALUATION_PLAN_ID", "STATUS", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "CONTENTS" }; //指定字段,包括导航属性
|
||||||
Expression<Func<T_SK_RISK_IDENTIFY_RESULT, bool>> expressionTemp = i => planIds.Contains((Guid)i.IDENTIFY_EVALUATION_PLAN_ID);
|
Expression<Func<T_SK_RISK_IDENTIFY_RESULT, bool>> expressionTemp = i => planIds.Contains((Guid)i.IDENTIFY_EVALUATION_PLAN_ID);
|
||||||
List<T_SK_RISK_IDENTIFY_RESULT> identityResults = this.GetOrderEntities(expressionTemp, newFilter).ToList();
|
List<T_SK_RISK_IDENTIFY_RESULT> identityResults = this.GetOrderEntities(expressionTemp, newFilter).ToList();
|
||||||
Expression<Func<T_SK_RISK_IDENTIFY, bool>> newexpression = i => planIds.Contains((Guid)i.IDENTIFY_EVALUATION_PLAN_ID);
|
Expression<Func<T_SK_RISK_IDENTIFY, bool>> newexpression = i => planIds.Contains((Guid)i.IDENTIFY_EVALUATION_PLAN_ID);
|
||||||
@ -1505,13 +1507,15 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
var ides = identityTemps.Where(t => t.IDENTIFY_EVALUATION_PLAN_ID == plan).ToList();
|
var ides = identityTemps.Where(t => t.IDENTIFY_EVALUATION_PLAN_ID == plan).ToList();
|
||||||
if (ides.Any())
|
if (ides.Any())
|
||||||
{
|
{
|
||||||
|
var applyDepIds = ides.Select(t => t.APPLY_DEPARTMENT_ID).Distinct().ToList();
|
||||||
//找出所有职能部门
|
//找出所有职能部门
|
||||||
var departListIds = new List<Guid>();
|
var departListIds = new List<Guid>();
|
||||||
//公司默认职能部门
|
//公司默认职能部门
|
||||||
var company = departs.FirstOrDefault(t => t.PARENT_ID == null);
|
var company = departs.FirstOrDefault(t => t.PARENT_ID == null);
|
||||||
departListIds.Add(company.ID);
|
departListIds.Add(company.ID);
|
||||||
var tempids = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
|
var tempids = departs.Where(t => t.DEPARTMENT_STATUS != 1).Select(m => m.ID).ToList();
|
||||||
departListIds.AddRange(tempids);
|
departListIds.AddRange(tempids);
|
||||||
|
departListIds = departListIds.Where(t=> applyDepIds.Contains(t)).Distinct().ToList();
|
||||||
//职能口统一汇总给安环部安全员
|
//职能口统一汇总给安环部安全员
|
||||||
if (departListIds.Any())
|
if (departListIds.Any())
|
||||||
{
|
{
|
||||||
@ -1532,12 +1536,12 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
result.ORG_ID = filter.OrgId;
|
result.ORG_ID = filter.OrgId;
|
||||||
result.APPLY_DEPARTMENT_ID = user?.DEPARTMENT_ID;
|
result.APPLY_DEPARTMENT_ID = user?.DEPARTMENT_ID;
|
||||||
result.APPLY_USER_ID = user.ID;
|
result.APPLY_USER_ID = user.ID;
|
||||||
result.IDENTIFY_ID = deTemp.ID;
|
result.IDENTIFY_ID = deTemp?.ID;
|
||||||
result.IDENTIFY_EVALUATION_PLAN_ID = plan;
|
result.IDENTIFY_EVALUATION_PLAN_ID = plan;
|
||||||
result.YEAR = DateTime.Now.Year.ToString();
|
result.YEAR = DateTime.Now.Year.ToString();
|
||||||
result.ISAUTO = true;
|
result.ISAUTO = true;
|
||||||
result.ISCOMPANY = SKIsStoreEnum.Yes;
|
result.ISCOMPANY = SKIsStoreEnum.Yes;
|
||||||
result.CONTENTS = deTemp.CONTENTS;
|
result.CONTENTS = deTemp?.CONTENTS;
|
||||||
result.START_DATE = DateTime.Now;
|
result.START_DATE = DateTime.Now;
|
||||||
result.END_DATE = DateTime.Now;
|
result.END_DATE = DateTime.Now;
|
||||||
result.REQUIRE_ID = requre?.ID;
|
result.REQUIRE_ID = requre?.ID;
|
||||||
@ -1629,7 +1633,8 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//非职能口
|
//非职能口
|
||||||
var departIds = ides.Where(m => !departListIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t => t.APPLY_DEPARTMENT_ID).Distinct().ToList();
|
var departIds = ides.Where(m => !departListIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t => t.APPLY_DEPARTMENT_ID).Distinct().ToList();
|
||||||
|
departIds = departIds.Where(t => applyDepIds.Contains(t)).Distinct().ToList();
|
||||||
if (departIds.Any())
|
if (departIds.Any())
|
||||||
{
|
{
|
||||||
//部门级给部门安全员
|
//部门级给部门安全员
|
||||||
@ -1644,8 +1649,35 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
{
|
{
|
||||||
var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
//负责人
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null && departUser.USER_ID != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
|
||||||
|
if (parentId != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
//负责人
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null)
|
||||||
|
{
|
||||||
|
if (departUser.USER_ID != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
@ -1777,8 +1809,35 @@ namespace APT.PP.WebApi.Controllers.Api
|
|||||||
{
|
{
|
||||||
var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人"));
|
//负责人
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null && departUser.USER_ID!=null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//当前层级安全员和负责人都找不到,找一次上级安全员和负责人
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
var parentId = departs.FirstOrDefault(t => t.ID == de)?.PARENT_ID;
|
||||||
|
if (parentId != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.DEPARTMENT_ID == parentId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
//负责人
|
||||||
|
var departUser = departs.FirstOrDefault(t => t.ID == parentId);
|
||||||
|
if (departUser != null)
|
||||||
|
{
|
||||||
|
if (departUser.USER_ID != null)
|
||||||
|
{
|
||||||
|
user = users.FirstOrDefault(t => t.ID == departUser.USER_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (user != null)
|
if (user != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user