.net10 -合并编译错误

This commit is contained in:
2026-06-04 13:19:17 +08:00
136 changed files with 251650 additions and 1484 deletions
@@ -87,6 +87,23 @@ namespace IRaCIS.Core.Application.Contracts
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
/// <summary>
/// QC质控下载
/// </summary>
public bool IsSupportQCDownloadImage { get; set; } = false;
/// <summary>
/// 打开失访可读
/// </summary>
public bool IsOpenLostVistRead { get; set; } = true;
/// <summary>
/// 影像质控风险控制
/// </summary>
public bool? IsImageQualityControl { get; set; }
}
public class ConfigTrialProcessInfoVerificationInDto
@@ -108,11 +125,6 @@ namespace IRaCIS.Core.Application.Contracts
public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
/// <summary>
/// 影像质控风险控制
/// </summary>
public bool? IsImageQualityControl { get; set; }
public Guid TrialId { get; set; }
/// <summary>
@@ -17,6 +17,9 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string UserKeyInfo { get; set; } = String.Empty;
public string? Country { get; set; }
}
public class SiteCRCExportQueryDTO
@@ -43,6 +46,8 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string TrialSiteAliasName { get; set; } = String.Empty;
public string Country { get; set; }
public bool IsDeleted { get; set; } = true;
}
@@ -62,6 +67,8 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string TrialSiteCode { get; set; } = String.Empty;
public string Country { get; set; }
public bool IsDeleted { get; set; }
}
@@ -119,6 +126,8 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string SiteName { get; set; } = String.Empty;
public string AliasName { get; set; } = string.Empty;
public string Country { get; set; }
}
public class TrialSiteScreeningDTO
@@ -88,6 +88,8 @@ namespace IRaCIS.Application.Contracts
public string CriterionName { get; set; } = string.Empty;
public DateTime CreateTime { get; set; }
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; } = new List<TrialObjectNameConfig>();
}
@@ -243,11 +245,16 @@ namespace IRaCIS.Application.Contracts
}
public class TrialExtraConfig
{
#region QC
#region QC --
//QC质控
//QC质控下载
public bool IsSupportQCDownloadImage { get; set; } = false;
/// <summary>
/// 打开失访可读
/// </summary>
public bool IsOpenLostVistRead { get; set; } = true;
#endregion
@@ -260,20 +267,19 @@ namespace IRaCIS.Application.Contracts
public List<SiteSurveyModifyFiled> ModifyFiledList { get; set; } = new List<SiteSurveyModifyFiled>();
public List<SiteSurveyEquipmentField> EquipmentControlFieldList { get; set; } = new List<SiteSurveyEquipmentField>();
#endregion
/// <summary>
/// 打开失访可读
/// </summary>
public bool IsOpenLostVistRead { get; set; } = true;
}
public class TrialConfigInfo: TrialExtraConfig
public class TrialConfigInfo : TrialExtraConfig
{
#region
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
@@ -288,6 +294,8 @@ namespace IRaCIS.Application.Contracts
public bool IsExternalViewTrialChart { get; set; }
#endregion
public TrialDataStore TrialDataStoreType { get; set; }
}
public class TrialPacsInfo
@@ -309,6 +317,14 @@ namespace IRaCIS.Application.Contracts
}
public class SiteSurveyEquipmentField
{
public string FiledName { get; set; }
public int ShowOrder { get; set; }
public bool IsView { get; set; }
}
}
@@ -441,6 +441,8 @@ namespace IRaCIS.Application.Contracts
public Guid TrialSiteId { get; set; }
public string Country { get; set; }
public string TrialSiteCode { get; set; } = String.Empty;
public string TrialSiteName { get; set; } = String.Empty;
@@ -11,7 +11,7 @@ namespace IRaCIS.Core.Application.Interfaces
Task<IResponseOutput> DeleteSiteCRC(Guid id, bool isDelete);
Task<IResponseOutput> DeleteTrialSite(Guid id);
Task<PageOutput<SiteStatDTO>> GetSiteCRCList(SiteCrcQueryDTO param);
Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<IResponseOutput<PageOutput<SiteStatSimpleDTO>> > GetSiteCRCSimpleList(SiteCrcQueryDTO param);
Task<PageOutput<TrialSiteScreeningDTO>> GetTrialSiteScreeningList(TrialSiteQuery trialSiteQuery);
Task<IEnumerable<TrialSiteForSelect>> GetTrialSiteSelect(Guid trialId);
}
@@ -1146,6 +1146,8 @@ namespace IRaCIS.Core.Application
var isInternal = _userInfo.IsZhiZhun;
var workLanguage = _userInfo.UserWorkLanguage;
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(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)
.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)
.SelectMany(t => t.NeedConfirmedUserTypeList)
@@ -641,7 +641,7 @@ namespace IRaCIS.Core.Application
CriterionModalitys = inDto.CriterionModalitys,
ReadingTool = inDto.ReadingTool,
IsReadingPeriod = inDto.IsReadingPeriod,
DefaultSegmentName=inDto.DefaultSegmentName,
DefaultSegmentName = inDto.DefaultSegmentName,
//DigitPlaces=inDto.DigitPlaces,
IsReadingTaskViewInOrder = inDto.IsReadingTaskViewInOrder,
ReadingTaskViewEnum = inDto.ReadingTaskViewEnum,
@@ -1566,7 +1566,7 @@ namespace IRaCIS.Core.Application
[AllowAnonymous]
public async Task<TrialConfigInfo> GetTrialExtralConfig(Guid trialId)
{
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.IsExternalViewTrialChart, t.TrialObjectNameList, t.CollectImagesEnum, t.IsIQCAutoNextTask, t.IsImageQualityControl }).FirstOrDefault();
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.TrialDataStoreType, t.IsExternalViewTrialChart, t.TrialObjectNameList, t.CollectImagesEnum, t.IsIQCAutoNextTask, t.IsImageQualityControl }).FirstOrDefault();
var extralConfig = JsonConvert.DeserializeObject<TrialExtraConfig>(extralObj?.TrialExtraConfigJsonStr) ?? new TrialExtraConfig();
@@ -1577,7 +1577,7 @@ namespace IRaCIS.Core.Application
trialConfig.IsExternalViewTrialChart = extralObj.IsExternalViewTrialChart;
trialConfig.CollectImagesEnum = extralObj.CollectImagesEnum;
trialConfig.IsIQCAutoNextTask = extralObj.IsIQCAutoNextTask;
trialConfig.TrialDataStoreType = extralObj.TrialDataStoreType;
return trialConfig;
}
@@ -17,6 +17,7 @@ using DocumentFormat.OpenXml.Spreadsheet;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Application.Contracts;
using MassTransit;
using System.Globalization;
namespace IRaCIS.Core.Application.Service
{
@@ -271,6 +272,11 @@ namespace IRaCIS.Core.Application.Service
generateUser.IsTestUser = true;
}
//外部人员语言类型,根据PM创建时界面语言决定
var isEn_US = _userInfo.IsEn_Us;
generateUser.UserWorkLanguage = isEn_US ? UserWorkLanguage.US : UserWorkLanguage.CN;
// 外部人员生成账号 都是外部的
generateUser.IsZhiZhun = false;
@@ -26,7 +26,10 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task<IResponseOutput<PageOutput<IdentityUserJoinedTrialView>>> GetUserJoinedTrialList(IdentityUserJoinedTrialQuery inQuery)
{
var list = await _trialIdentityUserRepository.Where(t => t.IdentityUserId == inQuery.IdentityUserId, false, true)
var defalutSortArray = new string[] { nameof(IdentityUserJoinedTrialView.TrialCreateTime) + " desc" };
var list = await _trialIdentityUserRepository.Where(t => t.IdentityUserId == inQuery.IdentityUserId && t.Trial.IsDeleted==false, false, true)
.WhereIf(!string.IsNullOrEmpty(inQuery.TrialCode), o => o.Trial.TrialCode.Contains(inQuery.TrialCode))
.WhereIf(!string.IsNullOrEmpty(inQuery.ResearchProgramNo), o => o.Trial.ResearchProgramNo.Contains(inQuery.ResearchProgramNo))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.ExperimentName), o => o.Trial.ExperimentName.Contains(inQuery.ExperimentName))
@@ -53,7 +56,7 @@ namespace IRaCIS.Core.Application.Service
UpdateTime = t.UpdateTime,
}).ToList(),
}).ToPagedListAsync(inQuery);
}).ToPagedListAsync(inQuery, defalutSortArray);
var info = await _identityUserRepository.Where(t => t.Id == inQuery.IdentityUserId).Select(t =>
new { t.CreateTime, t.UserCeateSource, t.Trial.ResearchProgramNo, t.Trial.ExperimentName, t.Trial.TrialCode }).FirstOrDefaultAsync();
@@ -136,7 +136,8 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(!other.Contains(_userInfo.UserTypeEnumInt), t => t.TrialIdentityUserList.Any(t => t.IdentityUserId == _userInfo.IdentityUserId && t.IsDeleted == false
&& t.TrialUserRoleList.Any(t => t.UserId == _userInfo.UserRoleId && t.IsDeleted == false))
&& t.IsDeleted == false && t.TrialStatusStr == StaticData.TrialState.TrialOngoing)
.ProjectTo<TrialSelectDTO>(_mapper.ConfigurationProvider).ToListAsync();
.ProjectTo<TrialSelectDTO>(_mapper.ConfigurationProvider)
.OrderByDescending(x=>x.CreateTime).ToListAsync();
}
@@ -214,7 +215,9 @@ namespace IRaCIS.Core.Application.Service
//var test = _trialRepository.Where(t => t.CreateTime.Year == DateTime.Now.Year + 1).Select(t => t.Code).DefaultIfEmpty(1).ToList();
var trial = _mapper.Map<Trial>(trialAddModel);
//trial.Id = NewId.NextGuid();
var yearStr = DateTime.Now.Year.ToString();
trial.Code = currentYearMaxCodeNext;
@@ -247,6 +250,32 @@ namespace IRaCIS.Core.Application.Service
trial.IsConfigureEmail = true;
#endregion
#region
var trialExtalConfig = new TrialExtraConfig()
{
EquipmentControlFieldList = new List<SiteSurveyEquipmentField> {
new SiteSurveyEquipmentField() { FiledName = "EquipmentTypeEnum", ShowOrder = 0, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "OtherEquipmentType", ShowOrder = 1, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "Parameters", ShowOrder = 2, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "ManufacturerType", ShowOrder = 3, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "ManufacturerName", ShowOrder = 4, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "ScannerType", ShowOrder = 5, IsView = true },
new SiteSurveyEquipmentField() { FiledName = "Note", ShowOrder = 6, IsView = true },
},
NotShowFieldList = new List<string>() { "IsRoutineMRIPDEE", "MRIPDFFScanTime", "MRIPDFFLeadTime", "MRIPDFFOther", "IsAuthorizeRadiologistsParticipate", "AssignFixedTechnologists", "ISStrictManualBurnFlag", "NotStrictManualBurnFlagReason" }
};
trial.TrialExtraConfigJsonStr = trialExtalConfig.ToJsonStr();
#endregion
//如果是PM, 则需要将该人员添加到 运维人员表
//添加运维人员PM
await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser()
@@ -333,7 +362,7 @@ namespace IRaCIS.Core.Application.Service
trial.EmailFromName = $"{_systemEmailConfig.FromName}-{trial.TrialCode}";
trial.UpdateTime = DateTime.Now;
var success = await _trialRepository.SaveChangesAsync();
@@ -101,7 +101,7 @@ namespace IRaCIS.Core.Application.Services
/// <summary>[new] setting页面Site列表,和getSiteCRCList对比 没有统计数据,增加了一些site信息 </summary>
[HttpPost]
public async Task<(PageOutput<SiteStatSimpleDTO>,object)> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
public async Task<IResponseOutput<PageOutput<SiteStatSimpleDTO>>> GetSiteCRCSimpleList(SiteCrcQueryDTO inQuery)
{
var trialinfo = await _trialRepository.Where(x => x.Id == inQuery.TrialId).FirstNotNullAsync();
@@ -110,6 +110,7 @@ namespace IRaCIS.Core.Application.Services
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.SiteName), t => t.TrialSiteName.Contains(inQuery.SiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteAliasName))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteAliasName), t => t.TrialSiteAliasName.Contains(inQuery.TrialSiteAliasName))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteCode), t => t.TrialSiteCode.Contains(inQuery.TrialSiteCode))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.Country), t => t.Country.Contains(inQuery.Country))
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.CRCUserList.Any(k => k.UserId == _userInfo.UserRoleId))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.UserKeyInfo), t => t.CRCUserList.Any(k => (k.UserRole.FullName).Contains(inQuery.UserKeyInfo)
|| k.UserRole.IdentityUser.UserName.Contains(inQuery.UserKeyInfo) || k.UserRole.IdentityUser.EMail.Contains(inQuery.UserKeyInfo)))
@@ -119,8 +120,9 @@ namespace IRaCIS.Core.Application.Services
var result = await siteStatQuery.ToPagedListAsync(inQuery);
return (result,new {
IsPACSConnectAndIsTrialPACSConfirmed = trialinfo.IsPACSConnect&&trialinfo.IsTrialPACSConfirmed,
return ResponseOutput.Ok(result, new
{
IsPACSConnectAndIsTrialPACSConfirmed = trialinfo.IsPACSConnect && trialinfo.IsTrialPACSConfirmed,
});
}
@@ -150,8 +152,8 @@ namespace IRaCIS.Core.Application.Services
{
var list = _siteRepository
.WhereIf(!string.IsNullOrWhiteSpace(siteName), t => t.SiteName.Contains(siteName) || t.SiteNameCN.Contains(siteName) || t.AliasName.Contains(siteName))
.Select(t => new TrialSiteSelect() { SiteId = t.Id, SiteName = _userInfo.IsEn_Us ? t.SiteName : t.SiteNameCN, AliasName = t.AliasName }).ToList()
.OrderBy(x=>x.SiteName)
.Select(t => new TrialSiteSelect() { SiteId = t.Id, SiteName = _userInfo.IsEn_Us ? t.SiteName : t.SiteNameCN, AliasName = t.AliasName, Country = t.Country }).ToList()
.OrderBy(x => x.SiteName)
.ToList();
return list;