系统文档区分语言
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
a69e8969a4
commit
5871d054d3
|
|
@ -54,8 +54,10 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
from identityUser in _identityUserRepository.AsQueryable(false).Where(t => t.Status == UserStateEnum.Enable).Where(t => t.UserRoleList.Where(t => t.IsUserRoleDisabled == false).Any(t => sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
from identityUser in _identityUserRepository.AsQueryable(false).Where(t => t.Status == UserStateEnum.Enable).Where(t => t.UserRoleList.Where(t => t.IsUserRoleDisabled == false).Any(t => sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
||||||
join confirmc in _systemDocConfirmedUserRepository.Where() on new { ConfirmUserId = identityUser.Id, SystemDocumentId = sysDoc.Id } equals new { confirmc.ConfirmUserId, confirmc.SystemDocumentId } into cc
|
join confirmc in _systemDocConfirmedUserRepository.Where() on new { ConfirmUserId = identityUser.Id, SystemDocumentId = sysDoc.Id } equals new { confirmc.ConfirmUserId, confirmc.SystemDocumentId } into cc
|
||||||
from confirm in cc.DefaultIfEmpty()
|
from confirm in cc.DefaultIfEmpty()
|
||||||
select new UnionDocumentWithConfirmInfoView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
|
DocLanguageType=sysDoc.DocLanguageType,
|
||||||
|
UserWorkLanguage=identityUser.UserWorkLanguage,
|
||||||
IsSystemDoc = true,
|
IsSystemDoc = true,
|
||||||
Id = sysDoc.Id,
|
Id = sysDoc.Id,
|
||||||
CreateTime = sysDoc.CreateTime,
|
CreateTime = sysDoc.CreateTime,
|
||||||
|
|
@ -79,7 +81,9 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
};
|
};
|
||||||
var datalist = await systemDocQuery.IgnoreQueryFilters().Where(t => t.IsDeleted == false && t.ConfirmTime == null)
|
var datalist = await systemDocQuery.IgnoreQueryFilters().Where(t => t.IsDeleted == false && t.ConfirmTime == null)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
datalist = datalist.Where(x => x.SuggestFinishTime != null && x.SuggestFinishTime.Value.Date == DateTime.Now.Date)
|
datalist = datalist
|
||||||
|
.Where(x=>x.DocLanguageType == DocLanguageType.CN_US || (int)x.DocLanguageType == (int)x.UserWorkLanguage)
|
||||||
|
.Where(x => x.SuggestFinishTime != null && x.SuggestFinishTime.Value.Date == DateTime.Now.Date)
|
||||||
.Where(x => x.IsNeedSendEmial).ToList();
|
.Where(x => x.IsNeedSendEmial).ToList();
|
||||||
var confirmUserIdList = datalist.Select(t => t.ConfirmUserId).Distinct().ToList();
|
var confirmUserIdList = datalist.Select(t => t.ConfirmUserId).Distinct().ToList();
|
||||||
var userinfoList = await _identityUserRepository.Where(x => confirmUserIdList.Contains(x.Id)).ToListAsync();
|
var userinfoList = await _identityUserRepository.Where(x => confirmUserIdList.Contains(x.Id)).ToListAsync();
|
||||||
|
|
@ -168,7 +172,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
Console.WriteLine($"只发送给新增的角色,角色数量: {context.Message.NewUserTypeIds.Count}");
|
Console.WriteLine($"只发送给新增的角色,角色数量: {context.Message.NewUserTypeIds.Count}");
|
||||||
}
|
}
|
||||||
// 构建查询
|
// 构建查询
|
||||||
IQueryable<UnionDocumentWithConfirmInfoView> systemDocQuery;
|
IQueryable<TriaAndSystemlSignDocView> systemDocQuery;
|
||||||
|
|
||||||
if (context.Message.NewUserTypeIds != null && context.Message.NewUserTypeIds.Any())
|
if (context.Message.NewUserTypeIds != null && context.Message.NewUserTypeIds.Any())
|
||||||
{
|
{
|
||||||
|
|
@ -180,8 +184,10 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
t.UserRoleList.Where(t => t.IsUserRoleDisabled == false)
|
t.UserRoleList.Where(t => t.IsUserRoleDisabled == false)
|
||||||
.Any(t => context.Message.NewUserTypeIds.Contains(t.UserTypeId) &&
|
.Any(t => context.Message.NewUserTypeIds.Contains(t.UserTypeId) &&
|
||||||
sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
||||||
select new UnionDocumentWithConfirmInfoView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
|
DocLanguageType = sysDoc.DocLanguageType,
|
||||||
|
UserWorkLanguage = identityUser.UserWorkLanguage,
|
||||||
IsSystemDoc = true,
|
IsSystemDoc = true,
|
||||||
Id = sysDoc.Id,
|
Id = sysDoc.Id,
|
||||||
CreateTime = sysDoc.CreateTime,
|
CreateTime = sysDoc.CreateTime,
|
||||||
|
|
@ -207,8 +213,10 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
.Where(t => t.Status == UserStateEnum.Enable &&
|
.Where(t => t.Status == UserStateEnum.Enable &&
|
||||||
t.UserRoleList.Where(t => t.IsUserRoleDisabled == false)
|
t.UserRoleList.Where(t => t.IsUserRoleDisabled == false)
|
||||||
.Any(t => sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
.Any(t => sysDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId)))
|
||||||
select new UnionDocumentWithConfirmInfoView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
|
DocLanguageType = sysDoc.DocLanguageType,
|
||||||
|
UserWorkLanguage = identityUser.UserWorkLanguage,
|
||||||
IsSystemDoc = true,
|
IsSystemDoc = true,
|
||||||
Id = sysDoc.Id,
|
Id = sysDoc.Id,
|
||||||
CreateTime = sysDoc.CreateTime,
|
CreateTime = sysDoc.CreateTime,
|
||||||
|
|
@ -226,7 +234,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
var datalist = await systemDocQuery.IgnoreQueryFilters().Where(x => x.IsNeedSendEmial).ToListAsync();
|
var datalist = await systemDocQuery.IgnoreQueryFilters().Where(x => x.IsNeedSendEmial).ToListAsync();
|
||||||
|
datalist = datalist.Where(x => x.DocLanguageType == DocLanguageType.CN_US || (int)x.DocLanguageType == (int)x.UserWorkLanguage).ToList();
|
||||||
var confirmUserIdList = datalist.Select(t => t.ConfirmUserId).Distinct().ToList();
|
var confirmUserIdList = datalist.Select(t => t.ConfirmUserId).Distinct().ToList();
|
||||||
var userinfoList = await _identityUserRepository.Where(x => confirmUserIdList.Contains(x.Id)).ToListAsync();
|
var userinfoList = await _identityUserRepository.Where(x => confirmUserIdList.Contains(x.Id)).ToListAsync();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,8 +64,9 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
|
|
||||||
from confirm in cc.DefaultIfEmpty()
|
from confirm in cc.DefaultIfEmpty()
|
||||||
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted && trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted && trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
||||||
select new TrialSignDocView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
|
|
||||||
TrialCode = trialDoc.Trial.TrialCode,
|
TrialCode = trialDoc.Trial.TrialCode,
|
||||||
ResearchProgramNo = trialDoc.Trial.ResearchProgramNo,
|
ResearchProgramNo = trialDoc.Trial.ResearchProgramNo,
|
||||||
ExperimentName = trialDoc.Trial.ExperimentName,
|
ExperimentName = trialDoc.Trial.ExperimentName,
|
||||||
|
|
@ -209,7 +210,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
Console.WriteLine($"只发送给新增项目的角色,角色数量: {context.Message.NewUserTypeIds.Count}");
|
Console.WriteLine($"只发送给新增项目的角色,角色数量: {context.Message.NewUserTypeIds.Count}");
|
||||||
}
|
}
|
||||||
// 构建查询
|
// 构建查询
|
||||||
IQueryable<TrialSignDocView> trialDocQuery;
|
IQueryable<TriaAndSystemlSignDocView> trialDocQuery;
|
||||||
|
|
||||||
if (context.Message.NewUserTypeIds != null && context.Message.NewUserTypeIds.Any())
|
if (context.Message.NewUserTypeIds != null && context.Message.NewUserTypeIds.Any())
|
||||||
{
|
{
|
||||||
|
|
@ -223,7 +224,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
on trialIdentityUser.IdentityUserId equals identityUser.Id
|
on trialIdentityUser.IdentityUserId equals identityUser.Id
|
||||||
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted && context.Message.NewUserTypeIds.Contains(ur.UserRole.UserTypeId) && trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted && context.Message.NewUserTypeIds.Contains(ur.UserRole.UserTypeId) && trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
||||||
|
|
||||||
select new TrialSignDocView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
IsSystemDoc = true,
|
IsSystemDoc = true,
|
||||||
Id = trialDoc.Id,
|
Id = trialDoc.Id,
|
||||||
|
|
@ -259,7 +260,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted &&trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
where trialIdentityUser.TrialUserRoleList.Any(ur => !ur.IsDeleted &&trialDoc.NeedConfirmedUserTypeList.Any(c => c.NeedConfirmUserTypeId == ur.UserRole.UserTypeId))
|
||||||
|
|
||||||
|
|
||||||
select new TrialSignDocView()
|
select new TriaAndSystemlSignDocView()
|
||||||
{
|
{
|
||||||
IsSystemDoc = false,
|
IsSystemDoc = false,
|
||||||
Id = trialDoc.Id,
|
Id = trialDoc.Id,
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialSignDocView : UnionDocumentWithConfirmInfoView
|
public class TriaAndSystemlSignDocView : UnionDocumentWithConfirmInfoView
|
||||||
{
|
{
|
||||||
public string TrialCode { get; set; }
|
public string TrialCode { get; set; }
|
||||||
public string ResearchProgramNo { get; set; }
|
public string ResearchProgramNo { get; set; }
|
||||||
|
|
@ -90,6 +90,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public TrialType TrialType { get; set; }
|
public TrialType TrialType { get; set; }
|
||||||
|
|
||||||
public bool IsTestUser { get; set; }
|
public bool IsTestUser { get; set; }
|
||||||
|
|
||||||
|
public UserWorkLanguage UserWorkLanguage { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -367,6 +369,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public DocLanguageType DocLanguageType { get; set; }
|
public DocLanguageType DocLanguageType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue