diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index d37814e29..0d73b1ae2 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -12975,7 +12975,12 @@
- CRC 提交了 通知QC进行质控
+ CRC 提交了 通知QC进行质控 Code005,006
+
+
+
+
+ CRC 提交了 通知QC进行质控 Code005,006
@@ -16806,6 +16811,16 @@
入组 Selection 列表查询参数
+
+
+ 工作兼职
+
+
+
+
+ 工作兼职En
+
+
工作兼职
diff --git a/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs b/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs
index 7ce433edd..e60a54565 100644
--- a/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs
+++ b/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs
@@ -1,9 +1,14 @@
using IRaCIS.Core.Application.MassTransit.Command;
+using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain;
using IRaCIS.Core.Domain.BaseModel;
+using IRaCIS.Core.Infra.EFCore.Common;
using MassTransit;
+using Microsoft.Extensions.Options;
+using MimeKit;
using System;
using System.Collections.Generic;
+using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -12,13 +17,93 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer;
///
-/// CRC 提交了 通知QC进行质控
+/// CRC 提交了 通知QC进行质控 Code005,006
///
-public class CRCSubmitedAndQCToAuditEventConsumer : IConsumer
+public class CRCSubmitedAndQCToAuditEventConsumer(
+ IRepository _userRepository,
+ IRepository _trialUseRepository,
+ IRepository _subjectVisitRepository,
+ IRepository _trialRepository,
+ IRepository _readingQuestionCriterionTrialRepository,
+ IRepository _visitTaskRepository,
+ IRepository _dictionaryRepository,
+ IRepository _emailNoticeConfigrepository,
+ IOptionsMonitor systemEmailConfig) : IConsumer
{
- public Task Consume(ConsumeContext context)
+ private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
+ public async Task Consume(ConsumeContext context)
{
- throw new NotImplementedException();
+ //Console.WriteLine("发送(005,006) 【加急项目所有IQC待领取质控任务】邮件!!!");
+ //var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
+
+ //var subjectVisitId = context.Message.SubjectVisitId;
+
+ //var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Include(x=>x.Subject).FirstOrDefaultAsync();
+
+
+
+
+
+
+ //var trialUser = await _trialUseRepository.Where(x => x.TrialId == subjectVisit.TrialId).Include(x => x.User).Select(x => x.User).ToListAsync();
+
+ //var userinfoList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.IQC).ToList();
+
+
+ //var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == subjectVisit.TrialId);
+
+ //foreach (var userinfo in userinfoList)
+ //{
+ // var messageToSend = new MimeMessage();
+ // //发件地址
+ // messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
+ // messageToSend.To.Add(new MailboxAddress(String.Empty, userinfo.EMail));
+
+
+ // var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
+
+
+ // var dictionValue = await CommonEmailHelper.TranslationDictionary(new TranslationDictionaryDto()
+ // {
+
+ // DictionaryRepository = _dictionaryRepository,
+ // IsEn_US = isEn_US,
+ // DictionaryList = new List()
+ // {
+ // new DictionaryDto (){DictionaryCode= "ReadingCategory",EnumValue=subjectVisit.AuditState.GetEnumInt(), }, //审核状态
+
+ // }
+ // });
+
+ // Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
+ // {
+ // var subjectCode = subjectVisit.Subject.Code;
+ // var topicStr = string.Format(input.topicStr, trialInfo.ResearchProgramNo, subjectCode, taskInfo.TaskBlindName);
+ // var htmlBodyStr = string.Format(
+ // CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr),
+ // userinfo.FullName, // 用户名 {0}
+ // trialInfo.ExperimentName, // 项目 {1}
+ // subjectCode, // 受试者 {2}
+ // subjectVisit.VisitName, // 访视 {3}
+ // dictionValue[0], // 审核状态 {4}
+ // _systemEmailConfig.SiteUrl // 链接 {5}
+
+
+
+
+ // );
+
+ // return (topicStr, htmlBodyStr);
+ // };
+
+ // await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository,
+
+ // context.Message.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed ? EmailBusinessScenario.ReReadFromPMApproval : EmailBusinessScenario.ReReadFromIRApproval,
+
+ // messageToSend, emailConfigFunc);
+
+ // await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
+ //}
}
}
diff --git a/IRaCIS.Core.Application/Service/Doctor/EducationService.cs b/IRaCIS.Core.Application/Service/Doctor/EducationService.cs
index 9184c8dff..75a609658 100644
--- a/IRaCIS.Core.Application/Service/Doctor/EducationService.cs
+++ b/IRaCIS.Core.Application/Service/Doctor/EducationService.cs
@@ -78,7 +78,7 @@ namespace IRaCIS.Core.Application.Service
}
- [HttpDelete, Route("{doctorId:guid}")]
+ [HttpDelete, Route("{id:guid}")]
public async Task DeleteEducationInfo(Guid id)
{
var success = await _educationRepository.BatchDeleteNoTrackingAsync(o => o.Id == id);
diff --git a/IRaCIS.Core.Domain/_DomainEvent/SubjectVisitStateChangedEvent.cs b/IRaCIS.Core.Domain/_DomainEvent/SubjectVisitStateChangedEvent.cs
index fb6c3cb06..bb3e9cb06 100644
--- a/IRaCIS.Core.Domain/_DomainEvent/SubjectVisitStateChangedEvent.cs
+++ b/IRaCIS.Core.Domain/_DomainEvent/SubjectVisitStateChangedEvent.cs
@@ -15,6 +15,7 @@ public class CRCSubmitedAndQCToAuditEvent : DomainEvent
{
public Guid SubjectVisitId { get; set; }
+ public bool IsPd { get; set; }
}
diff --git a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs
index df891c547..23f7d88a0 100644
--- a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs
+++ b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs
@@ -82,7 +82,7 @@ public static class DBContext_Ext
originAuditState == AuditStateEnum.None && subjectVisit.AuditState == AuditStateEnum.ToAudit
)
{
- subjectVisit.AddDomainEvent(new CRCSubmitedAndQCToAuditEvent() { SubjectVisitId = subjectVisit.Id });
+ subjectVisit.AddDomainEvent(new CRCSubmitedAndQCToAuditEvent() { SubjectVisitId = subjectVisit.Id,IsPd= subjectVisit.PDState == PDStateEnum.PDProgress });
}
//一致性核查通知PM发送邮件