diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 111926034..1c22559d4 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -115,16 +115,18 @@ namespace IRaCIS.Core.Application.Image.QA using (await _mutex.LockAsync()) { //获取编号 - var code = _qcChallengeRepository.Where(t => t.TrialId == trialId).Select(t => t.ChallengeCode).DefaultIfEmpty().Max(); + var code = _qcChallengeRepository.Where(t => t.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max(); var qcChallenge = _mapper.Map(qaQuestionCommand); qcChallenge.QCProcessEnum = trialConfig.QCProcessEnum; qcChallenge.CurrentQCEnum = currentQCType; qcChallenge.TrialId = trialId; - qcChallenge.ChallengeCode = code + 1; + qcChallenge.Code = code + 1; qcChallenge.UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt; + qcChallenge.ChallengeCode = "Q" + qcChallenge.Code.ToString("D5"); + qcChallenge = await _qcChallengeRepository.AddAsync(qcChallenge, true); return ResponseOutput.Ok(qcChallenge.Id); diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index 7ccdf773d..0918a9626 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -207,7 +207,7 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.CurrentActionUserName, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUser.UserName)) .ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId)) - .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5"))); + .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => s.ChallengeCode)); CreateMap() @@ -218,7 +218,7 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId)) .ForMember(d => d.DialogList, u => u.MapFrom(t => t.DialogList.OrderBy(t => t.CreateTime))) - .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5"))); + .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => s.ChallengeCode)); // 一致性核查文件 CreateMap() @@ -249,7 +249,7 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.IsQCConfirmedReupload, u => u.MapFrom(s => s.SubjectVisit.IsQCConfirmedReupload)) .ForMember(d => d.CreateUserName, u => u.MapFrom(s => s.CreateUser.UserName)) .ForMember(d => d.LatestReplyUserName, u => u.MapFrom(t => t.LatestReplyUser.UserName)) - .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5"))); //排序的时候有坑 把这个带到sql 中去了 + .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => s.ChallengeCode)); //排序的时候有坑 把这个带到sql 中去了 //.AfterMap((src, dest) => dest.ChallengeCode = "Q" + src.ChallengeCode.ToString("D5"));//实测没有效果 diff --git a/IRaCIS.Core.Domain/IRaCIS.Core.Domain.csproj b/IRaCIS.Core.Domain/IRaCIS.Core.Domain.csproj index 630ffbb14..f8e1126d8 100644 --- a/IRaCIS.Core.Domain/IRaCIS.Core.Domain.csproj +++ b/IRaCIS.Core.Domain/IRaCIS.Core.Domain.csproj @@ -20,4 +20,8 @@ + + + + diff --git a/IRaCIS.Core.Domain/QC/QCChallenge.cs b/IRaCIS.Core.Domain/QC/QCChallenge.cs index 633ab7217..1fae9a98d 100644 --- a/IRaCIS.Core.Domain/QC/QCChallenge.cs +++ b/IRaCIS.Core.Domain/QC/QCChallenge.cs @@ -44,9 +44,12 @@ namespace IRaCIS.Core.Domain.Models [ForeignKey("LatestReplyUserId")] public User LatestReplyUser { get; set; } - public int ChallengeCode { get; set; } + public string ChallengeCode { get; set; } + public int Code { get; set; } + + public bool IsClosed { get; set; } public DateTime? ClosedTime { get; set; } diff --git a/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql new file mode 100644 index 000000000..645a65178 --- /dev/null +++ b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql @@ -0,0 +1,7 @@ +-----2022-05-27------------------------ + +update DataInspection set BatchId=Id where BatchId is null + +update QCChallenge set Code=ChallengeCode + +update QCChallenge set ChallengeCode='D'+ RIGHT('00000'+CAST( Code AS nvarchar(50)),5); \ No newline at end of file diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index b10c5efa6..7feadc909 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -696,7 +696,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common BlindName = subjectvisit.BlindName, }, new { - ChallengeCode = "Q" + entity.ChallengeCode.ToString("D5"), + ChallengeCode = entity.ChallengeCode, AuditState = subjectvisit.AuditState, TalkContent = content, IsOverTime = entity.IsClosed ? entity.ClosedTime > entity.DeadlineTime : DateTime.Now > entity.DeadlineTime, @@ -732,7 +732,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common }, new { AuditState = subjectvisit.AuditState, - ChallengeCode = "Q" + qCChallenge.ChallengeCode.ToString("D5"), + ReuploadEnum = qCChallenge.ReuploadEnum, Content = qCChallenge.Content, DeadlineTime = qCChallenge.DeadlineTime,