Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
commit
27c41af918
|
|
@ -74,13 +74,17 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
t.UserRole.IdentityUser.EMail,
|
t.UserRole.IdentityUser.EMail,
|
||||||
t.UserRole.IdentityUser.UserName,
|
t.UserRole.IdentityUser.UserName,
|
||||||
t.Trial.TrialCode,
|
t.Trial.TrialCode,
|
||||||
t.Trial.ResearchProgramNo
|
t.Trial.ResearchProgramNo,
|
||||||
|
t.UserRole.IdentityUser.UserWorkLanguage
|
||||||
//TrialReadingCriterionList = t.Trial.TrialReadingCriterionList.Select(t => new { t.CriterionName, TrialReadingCriterionId = t.Id }).ToList()
|
//TrialReadingCriterionList = t.Trial.TrialReadingCriterionList.Select(t => new { t.CriterionName, TrialReadingCriterionId = t.Id }).ToList()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
foreach (var trialUser in trialUserList)
|
foreach (var trialUser in trialUserList)
|
||||||
{
|
{
|
||||||
|
//重新设置当前发送邮件的语言
|
||||||
|
var workLanguage = trialUser.UserWorkLanguage;
|
||||||
|
isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var userId = trialUser.UserId;
|
var userId = trialUser.UserId;
|
||||||
|
|
||||||
|
|
@ -153,7 +157,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, emailContent),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, emailContent, workLanguage),
|
||||||
trialUser.FullName,
|
trialUser.FullName,
|
||||||
|
|
||||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
|
|
@ -167,7 +171,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
|
||||||
return (topicStr, htmlBodyStr);
|
return (topicStr, htmlBodyStr);
|
||||||
};
|
};
|
||||||
|
|
||||||
await CommonEmailHelper.GetTrialEmailSubejctAndHtmlInfoAndBuildAsync(trialEmailConfig, messageToSend, emailConfigFunc);
|
await CommonEmailHelper.GetTrialEmailSubejctAndHtmlInfoAndBuildAsync(trialEmailConfig, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo);
|
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,12 +44,17 @@ public class QCImageQuestionRecurringEventConsumer(IRepository<Trial> _trialRepo
|
||||||
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr }).FirstNotNullAsync();
|
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr }).FirstNotNullAsync();
|
||||||
|
|
||||||
//找到 该项目的CRC 用户Id
|
//找到 该项目的CRC 用户Id
|
||||||
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { t.UserId, t.UserRole.FullName }).ToListAsync();
|
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { t.UserId, t.UserRole.FullName, t.UserRole.IdentityUser.UserWorkLanguage }).ToListAsync();
|
||||||
|
|
||||||
//判断是否任务可以领取 ,可以的话 发送邮件
|
//判断是否任务可以领取 ,可以的话 发送邮件
|
||||||
|
|
||||||
foreach (var user in userList)
|
foreach (var user in userList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//重新设置当前发送邮件的语言
|
||||||
|
var workLanguage = user.UserWorkLanguage;
|
||||||
|
isEn_us = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var userId = user.UserId;
|
var userId = user.UserId;
|
||||||
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
||||||
var query = _trialRepository.Where(t => t.Id == trialId)
|
var query = _trialRepository.Where(t => t.Id == trialId)
|
||||||
|
|
@ -72,7 +77,7 @@ public class QCImageQuestionRecurringEventConsumer(IRepository<Trial> _trialRepo
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
||||||
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
||||||
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent, workLanguage),
|
||||||
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
||||||
|
|
||||||
return (topicStr, htmlBodyStr, isEn_us, userId);
|
return (topicStr, htmlBodyStr, isEn_us, userId);
|
||||||
|
|
@ -116,12 +121,17 @@ public class CRCImageQuestionRecurringEventConsumer(IRepository<Trial> _trialRep
|
||||||
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr, t.DeclarationTypeEnumList }).FirstNotNullAsync();
|
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr, t.DeclarationTypeEnumList }).FirstNotNullAsync();
|
||||||
|
|
||||||
//找到 该项目的IQC 用户Id
|
//找到 该项目的IQC 用户Id
|
||||||
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.IQC).Select(t => new { t.UserId, t.UserRole.FullName }).ToListAsync();
|
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.IQC).Select(t => new { t.UserId, t.UserRole.FullName, t.UserRole.IdentityUser.UserWorkLanguage }).ToListAsync();
|
||||||
|
|
||||||
//判断是否任务可以领取 ,可以的话 发送邮件
|
//判断是否任务可以领取 ,可以的话 发送邮件
|
||||||
|
|
||||||
foreach (var user in userList)
|
foreach (var user in userList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//重新设置当前发送邮件的语言
|
||||||
|
var workLanguage = user.UserWorkLanguage;
|
||||||
|
isEn_us = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var userId = user.UserId;
|
var userId = user.UserId;
|
||||||
|
|
||||||
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
||||||
|
|
@ -147,7 +157,7 @@ public class CRCImageQuestionRecurringEventConsumer(IRepository<Trial> _trialRep
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
||||||
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
||||||
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent, workLanguage),
|
||||||
|
|
||||||
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeDealedCount - sendStat.ReUploadTobeDealedCount, sendStat.ReUploadTobeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeDealedCount - sendStat.ReUploadTobeDealedCount, sendStat.ReUploadTobeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
||||||
|
|
||||||
|
|
@ -181,7 +191,7 @@ public class ImageQCRecurringEventConsumer(IRepository<Trial> _trialRepository,
|
||||||
private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
|
private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
|
||||||
public async Task Consume(ConsumeContext<ImageQCRecurringEvent> context)
|
public async Task Consume(ConsumeContext<ImageQCRecurringEvent> context)
|
||||||
{
|
{
|
||||||
var trialId=context.Message.TrialId;
|
var trialId = context.Message.TrialId;
|
||||||
|
|
||||||
var isEn_us = context.Message.CultureInfoName == StaticData.CultureInfo.en_US;
|
var isEn_us = context.Message.CultureInfoName == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
|
@ -192,13 +202,17 @@ public class ImageQCRecurringEventConsumer(IRepository<Trial> _trialRepository,
|
||||||
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr }).FirstNotNullAsync();
|
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.ResearchProgramNo, t.ExperimentName, t.TrialCode, t.TrialStatusStr }).FirstNotNullAsync();
|
||||||
|
|
||||||
//找到 该项目的IQC 用户Id
|
//找到 该项目的IQC 用户Id
|
||||||
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.IQC).Select(t => new { t.UserId, t.UserRole.FullName }).ToListAsync();
|
var userList = await _trialUserRoleRepository.Where(t => t.TrialId == trialId).Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.IQC).Select(t => new { t.UserId, t.UserRole.FullName, t.UserRole.IdentityUser.UserWorkLanguage }).ToListAsync();
|
||||||
|
|
||||||
//判断是否任务可以领取 ,可以的话 发送邮件
|
//判断是否任务可以领取 ,可以的话 发送邮件
|
||||||
var userIdList = userList.Select(t => t.UserId).ToList();
|
var userIdList = userList.Select(t => t.UserId).ToList();
|
||||||
|
|
||||||
foreach (var user in userList)
|
foreach (var user in userList)
|
||||||
{
|
{
|
||||||
|
//重新设置当前发送邮件的语言
|
||||||
|
var workLanguage = user.UserWorkLanguage;
|
||||||
|
isEn_us = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var userId = user.UserId;
|
var userId = user.UserId;
|
||||||
|
|
||||||
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
//过滤项目 并且 将 _userInfo.Id 换位 当前发送邮件的Id
|
||||||
|
|
@ -222,11 +236,11 @@ public class ImageQCRecurringEventConsumer(IRepository<Trial> _trialRepository,
|
||||||
|
|
||||||
Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr, bool isEn_us, Guid? onlyToUserId)> topicAndHtmlFunc = trialEmailConfig =>
|
Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr, bool isEn_us, Guid? onlyToUserId)> topicAndHtmlFunc = trialEmailConfig =>
|
||||||
{
|
{
|
||||||
|
|
||||||
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(isEn_us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
var htmlContent = isEn_us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN;
|
||||||
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlContent, workLanguage),
|
||||||
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeClaimedCount, sendStat.ToBeReviewedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
user.FullName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sendStat.ToBeClaimedCount, sendStat.ToBeReviewedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl);
|
||||||
|
|
||||||
return (topicStr, htmlBodyStr, false, userId);
|
return (topicStr, htmlBodyStr, false, userId);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
using DocumentFormat.OpenXml.Spreadsheet;
|
||||||
|
using IRaCIS.Application.Contracts;
|
||||||
|
using Medallion.Threading;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Application.Service.Common
|
||||||
|
{
|
||||||
|
public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostEnvironment _hostEnvironment, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取系统基础配置信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="options"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<ServiceVerifyConfigOption> GetSystemBasicConfigInfo([FromServices] IOptionsMonitor<ServiceVerifyConfigOption> options)
|
||||||
|
{
|
||||||
|
return options.CurrentValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> UpdateSystemBasicConfig(ServiceVerifyConfigOption basicSystemConfigOption)
|
||||||
|
{
|
||||||
|
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
|
||||||
|
|
||||||
|
string text = System.IO.File.ReadAllText(path);
|
||||||
|
|
||||||
|
// 修改
|
||||||
|
JObject obj = JObject.Parse(text);
|
||||||
|
// QCRiskControl 相关配置
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.QCRiskControl)] = basicSystemConfigOption.QCRiskControl;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.OpenUserComplexPassword)] = basicSystemConfigOption.OpenUserComplexPassword;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.OpenSignDocumentBeforeWork)] = basicSystemConfigOption.OpenSignDocumentBeforeWork;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.OpenTrialRelationDelete)] = basicSystemConfigOption.OpenTrialRelationDelete;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.OpenLoginLimit)] = basicSystemConfigOption.OpenLoginLimit;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.LoginMaxFailCount)] = basicSystemConfigOption.LoginMaxFailCount;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.LoginFailLockMinutes)] = basicSystemConfigOption.LoginFailLockMinutes;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.AutoLoginOutMinutes)] = basicSystemConfigOption.AutoLoginOutMinutes;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.OpenLoginMFA)] = basicSystemConfigOption.OpenLoginMFA;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.ContinuousReadingTimeMin)] = basicSystemConfigOption.ContinuousReadingTimeMin;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.ReadingRestTimeMin)] = basicSystemConfigOption.ReadingRestTimeMin;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.IsNeedChangePassWord)] = basicSystemConfigOption.IsNeedChangePassWord;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.ChangePassWordDays)] = basicSystemConfigOption.ChangePassWordDays;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.TemplateType)] = ((int)basicSystemConfigOption.TemplateType).ToString(); // 枚举需要转换为字符串
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.ThirdPdfUrl)] = basicSystemConfigOption.ThirdPdfUrl;
|
||||||
|
obj["BasicSystemConfig"][nameof(ServiceVerifyConfigOption.UserMFAVerifyMinutes)] = basicSystemConfigOption.UserMFAVerifyMinutes;
|
||||||
|
|
||||||
|
|
||||||
|
// 重新写入appsettings.json
|
||||||
|
string result = obj.ToString();
|
||||||
|
System.IO.File.WriteAllText(path, result);
|
||||||
|
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SystemEmailSendConfig> GetEmailConfigInfo([FromServices] IOptionsMonitor<SystemEmailSendConfig> options)
|
||||||
|
{
|
||||||
|
return options.CurrentValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1146,6 +1146,8 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
var isInternal = _userInfo.IsZhiZhun;
|
var isInternal = _userInfo.IsZhiZhun;
|
||||||
|
|
||||||
|
var workLanguage = _userInfo.UserWorkLanguage;
|
||||||
|
|
||||||
var needSignTrialCount = await _trialRepository.Where(t => t.TrialStatusStr == StaticData.TrialState.TrialOngoing)
|
var needSignTrialCount = await _trialRepository.Where(t => t.TrialStatusStr == StaticData.TrialState.TrialOngoing)
|
||||||
.Where(t => t.TrialIdentityUserList.Any(t => t.IdentityUserId == _userInfo.IdentityUserId && t.TrialUserRoleList.Any(t => t.UserRole.UserTypeId == _userInfo.UserTypeId)))
|
.Where(t => t.TrialIdentityUserList.Any(t => t.IdentityUserId == _userInfo.IdentityUserId && t.TrialUserRoleList.Any(t => t.UserRole.UserTypeId == _userInfo.UserTypeId)))
|
||||||
.Where(c => c.TrialDocumentList.Where(t => t.IsDeleted == false && t.NeedConfirmedUserTypeList.Any(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
.Where(c => c.TrialDocumentList.Where(t => t.IsDeleted == false && t.NeedConfirmedUserTypeList.Any(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
||||||
|
|
@ -1153,6 +1155,8 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
var needSignSysDocCont = await _systemDocumentRepository.Where(t => t.IsPublish)
|
var needSignSysDocCont = await _systemDocumentRepository.Where(t => t.IsPublish)
|
||||||
.Where(t => t.IsDeleted == false && !t.SystemDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.IdentityUserId && t.ConfirmTime != null))
|
.Where(t => t.IsDeleted == false && !t.SystemDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.IdentityUserId && t.ConfirmTime != null))
|
||||||
|
.WhereIf(workLanguage == UserWorkLanguage.CN, t => t.DocLanguageType == DocLanguageType.CN || t.DocLanguageType == DocLanguageType.CN_US)
|
||||||
|
.WhereIf(workLanguage == UserWorkLanguage.US, t => t.DocLanguageType == DocLanguageType.US || t.DocLanguageType == DocLanguageType.CN_US)
|
||||||
//外部人员 只签署 外部需要签署的
|
//外部人员 只签署 外部需要签署的
|
||||||
.WhereIf(isInternal == false, t => t.DocUserSignType == DocUserSignType.InnerAndOuter)
|
.WhereIf(isInternal == false, t => t.DocUserSignType == DocUserSignType.InnerAndOuter)
|
||||||
.SelectMany(t => t.NeedConfirmedUserTypeList)
|
.SelectMany(t => t.NeedConfirmedUserTypeList)
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,14 @@ public class {{TableName}}Service(IRepository<{{TableName}}> {{LowercaseReposito
|
||||||
{
|
{
|
||||||
|
|
||||||
var {{LowercaseQueryableName}} ={{LowercaseRepositoryName}}
|
var {{LowercaseQueryableName}} ={{LowercaseRepositoryName}}
|
||||||
.ProjectTo<{{TableNameView}}>(_mapper.ConfigurationProvider);
|
{% for field in QueryListFieldList -%}
|
||||||
|
{% if field.CSharpType == "string" -%}
|
||||||
|
.WhereIf(!string.IsNullOrEmpty(inQuery.{{ field.FieldName }}), t => t.{{ field.FieldName }}.Contains(inQuery.{{ field.FieldName }}))
|
||||||
|
{%- elsif field.CSharpType != "DateTime" -%}
|
||||||
|
.WhereIf(inQuery.{{ field.FieldName }} != null, t => t.{{ field.FieldName }} == inQuery.{{ field.FieldName }})
|
||||||
|
{%- endif %}
|
||||||
|
{% endfor -%}
|
||||||
|
.ProjectTo<{{TableNameView}}>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var pageList= await {{LowercaseQueryableName}}.ToPagedListAsync(inQuery);
|
var pageList= await {{LowercaseQueryableName}}.ToPagedListAsync(inQuery);
|
||||||
|
|
||||||
|
|
@ -37,7 +44,14 @@ public class {{TableName}}Service(IRepository<{{TableName}}> {{LowercaseReposito
|
||||||
|
|
||||||
|
|
||||||
var {{LowercaseQueryableName}} ={{LowercaseRepositoryName}}
|
var {{LowercaseQueryableName}} ={{LowercaseRepositoryName}}
|
||||||
.ProjectTo<{{TableNameView}}>(_mapper.ConfigurationProvider);
|
{% for field in QueryListFieldList -%}
|
||||||
|
{% if field.CSharpType == "string" -%}
|
||||||
|
.WhereIf(!string.IsNullOrEmpty(inQuery.{{ field.FieldName }}), t => t.{{ field.FieldName }}.Contains(inQuery.{{ field.FieldName }}))
|
||||||
|
{%- elsif field.CSharpType != "DateTime" -%}
|
||||||
|
.WhereIf(inQuery.{{ field.FieldName }} != null, t => t.{{ field.FieldName }} == inQuery.{{ field.FieldName }})
|
||||||
|
{%- endif %}
|
||||||
|
{% endfor -%}
|
||||||
|
.ProjectTo<{{TableNameView}}>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
return await {{LowercaseQueryableName}}.ToListAsync();
|
return await {{LowercaseQueryableName}}.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue