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
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user