Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2024-07-31 16:49:24 +08:00
commit d1e21a9f4b
7 changed files with 37 additions and 10 deletions

View File

@ -90,7 +90,6 @@
"DicomStudyCodePrefix": "ST",
"SystemSiteCodePrefix": "S",
"DefaultPassword": "123456",
"DefaultInternalOrganizationName": "ExtImaging",
"ImageShareExpireDays": 10
},

View File

@ -145,6 +145,23 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task<IResponseOutput> AddOrUpdateArchiveStudy(NewArchiveStudyCommand incommand)
{
var @uploadLock = _distributedLockProvider.CreateLock($"UploadDicom");
using (await @uploadLock.AcquireAsync())
{
if (_provider.Exists($"{incommand.TrialId}_{incommand.Study.StudyInstanceUid}"))
{
//---当前已有人正在上传和归档该检查!
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_ArchiveInProgress"));
}
else
{
//在事务未完成前 防止前端重复提交
_provider.Set($"{incommand.TrialId}_{incommand.Study.StudyInstanceUid}", _userInfo.Id, TimeSpan.FromMinutes(3));
}
}
var modalitys = string.Empty;
try
@ -191,7 +208,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
study.SubjectVisitId = incommand.SubjectVisitId;
//如果因为意外情况,连续点击两次,导致第一次插入了,第二次进来也会插入,在此判断一下
var findStudy = await _dicomstudyRepository.FirstOrDefaultAsync(t => t.Id == study.Id);
var findStudy = await _dicomstudyRepository.FirstOrDefaultAsync(t => t.Id == study.Id);
if (findStudy != null)
{
@ -339,6 +356,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
finally
{
_provider.Remove($"StudyUid_{incommand.TrialId}_{incommand.Study.StudyInstanceUid}");
_provider.Remove($"{incommand.TrialId}_{incommand.Study.StudyInstanceUid}");
}
@ -372,7 +390,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
VisitNum = t.SubjectVisit.VisitNum,
IsDicom = true,
IsFromPACS=t.IsFromPACS,
IsFromPACS = t.IsFromPACS,
SubjectCode = t.Subject.Code,
@ -422,7 +440,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
VisitNum = t.SubjectVisit.VisitNum,
IsDicom = false,
IsFromPACS=false,
IsFromPACS = false,
SubjectCode = t.Subject.Code,
@ -543,7 +561,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
path = (await _dicomInstanceRepository.Where(s => s.StudyId == studyId).Select(t => t.Path).FirstOrDefaultAsync()).IfNullThrowException();
using (var sw = ImageHelper.RenderPreviewJpeg(path))
{

View File

@ -560,7 +560,9 @@ namespace IRaCIS.Application.Services
if (saveItem.IsZhiZhun)
{
saveItem.OrganizationName = AppSettings.DefaultInternalOrganizationName;
var organizationName = _userInfo.IsEn_Us ? _systemEmailConfig.OrganizationName : _systemEmailConfig.OrganizationNameCN;
saveItem.OrganizationName = organizationName;
}

View File

@ -76,6 +76,14 @@ namespace IRaCIS.Core.Application.Service
VerifyMsg = _localizer["TrialDicomAE_RepeatIPAndPort"]
};
var verifyExp2 = new EntityVerifyExp<TrialDicomAE>()
{
VerifyExp = u => u.CalledAE == addOrEditDicomAE.CalledAE ,
//"AE名称不能与其他项目相同"
VerifyMsg = _localizer["TrialDicomAE_RepeatCalledAE"]
};
//var verifyExp2 = new EntityVerifyExp<TrialDicomAE>()
//{
// VerifyExp = u => u.TrialId == addOrEditDicomAE.TrialId,
@ -90,7 +98,7 @@ namespace IRaCIS.Core.Application.Service
if (addOrEditDicomAE.IsPACSConnect)
{
// 在此处拷贝automapper 映射
var entity = await _dicomAERepository.InsertOrUpdateAsync(addOrEditDicomAE, true, verifyExp1);
var entity = await _dicomAERepository.InsertOrUpdateAsync(addOrEditDicomAE, true, verifyExp1, verifyExp2);
return ResponseOutput.Ok(entity.Id.ToString());
}

View File

@ -954,6 +954,8 @@ namespace IRaCIS.Application.Contracts
public class SCPImageUploadQuery : PageInput
{
[NotDefault]
public Guid TrialId { get; set; }
public string TrialSiteKeyInfo { get; set; }
public string? CallingAE { get; set; }

View File

@ -75,7 +75,7 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<IResponseOutput<PageOutput<SCPImageUploadView>>> GetSCPImageUploadList(SCPImageUploadQuery inQuery)
{
var query = _repository.Where<SCPImageUpload>()
var query = _repository.Where<SCPImageUpload>(t=>t.TrialId==inQuery.TrialId)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CalledAE), t => t.CalledAE.Contains(inQuery.CalledAE))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAEIP), t => t.CallingAEIP.Contains(inQuery.CallingAEIP))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE))

View File

@ -90,7 +90,6 @@ namespace IRaCIS.Core.Domain.Share
public static string NoneDicomStudyCodePrefix { get; set; }
public static string DefaultInternalOrganizationName { get; set; }
public static int ImageShareExpireDays { get; set; } = 7;
@ -123,7 +122,6 @@ namespace IRaCIS.Core.Domain.Share
DefaultPassword = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("DefaultPassword");
SystemSiteCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("SystemSiteCodePrefix");
DefaultInternalOrganizationName = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("DefaultInternalOrganizationName");
ImageShareExpireDays = configuration.GetSection("IRaCISBasicConfig").GetValue<int>("ImageShareExpireDays");