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", "DicomStudyCodePrefix": "ST",
"SystemSiteCodePrefix": "S", "SystemSiteCodePrefix": "S",
"DefaultPassword": "123456", "DefaultPassword": "123456",
"DefaultInternalOrganizationName": "ExtImaging",
"ImageShareExpireDays": 10 "ImageShareExpireDays": 10
}, },

View File

@ -145,6 +145,23 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task<IResponseOutput> AddOrUpdateArchiveStudy(NewArchiveStudyCommand incommand) 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; var modalitys = string.Empty;
try try
@ -191,7 +208,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
study.SubjectVisitId = incommand.SubjectVisitId; 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) if (findStudy != null)
{ {
@ -339,6 +356,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
finally finally
{ {
_provider.Remove($"StudyUid_{incommand.TrialId}_{incommand.Study.StudyInstanceUid}"); _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, VisitNum = t.SubjectVisit.VisitNum,
IsDicom = true, IsDicom = true,
IsFromPACS=t.IsFromPACS, IsFromPACS = t.IsFromPACS,
SubjectCode = t.Subject.Code, SubjectCode = t.Subject.Code,
@ -422,7 +440,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
VisitNum = t.SubjectVisit.VisitNum, VisitNum = t.SubjectVisit.VisitNum,
IsDicom = false, IsDicom = false,
IsFromPACS=false, IsFromPACS = false,
SubjectCode = t.Subject.Code, SubjectCode = t.Subject.Code,

View File

@ -560,7 +560,9 @@ namespace IRaCIS.Application.Services
if (saveItem.IsZhiZhun) 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"] 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>() //var verifyExp2 = new EntityVerifyExp<TrialDicomAE>()
//{ //{
// VerifyExp = u => u.TrialId == addOrEditDicomAE.TrialId, // VerifyExp = u => u.TrialId == addOrEditDicomAE.TrialId,
@ -90,7 +98,7 @@ namespace IRaCIS.Core.Application.Service
if (addOrEditDicomAE.IsPACSConnect) if (addOrEditDicomAE.IsPACSConnect)
{ {
// 在此处拷贝automapper 映射 // 在此处拷贝automapper 映射
var entity = await _dicomAERepository.InsertOrUpdateAsync(addOrEditDicomAE, true, verifyExp1); var entity = await _dicomAERepository.InsertOrUpdateAsync(addOrEditDicomAE, true, verifyExp1, verifyExp2);
return ResponseOutput.Ok(entity.Id.ToString()); return ResponseOutput.Ok(entity.Id.ToString());
} }

View File

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

View File

@ -75,7 +75,7 @@ namespace IRaCIS.Application.Services
[HttpPost] [HttpPost]
public async Task<IResponseOutput<PageOutput<SCPImageUploadView>>> GetSCPImageUploadList(SCPImageUploadQuery inQuery) 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.CalledAE), t => t.CalledAE.Contains(inQuery.CalledAE))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAEIP), t => t.CallingAEIP.Contains(inQuery.CallingAEIP)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAEIP), t => t.CallingAEIP.Contains(inQuery.CallingAEIP))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE)) .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 NoneDicomStudyCodePrefix { get; set; }
public static string DefaultInternalOrganizationName { get; set; }
public static int ImageShareExpireDays { get; set; } = 7; public static int ImageShareExpireDays { get; set; } = 7;
@ -123,7 +122,6 @@ namespace IRaCIS.Core.Domain.Share
DefaultPassword = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("DefaultPassword"); DefaultPassword = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("DefaultPassword");
SystemSiteCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("SystemSiteCodePrefix"); SystemSiteCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("SystemSiteCodePrefix");
DefaultInternalOrganizationName = configuration.GetSection("IRaCISBasicConfig").GetValue<string>("DefaultInternalOrganizationName");
ImageShareExpireDays = configuration.GetSection("IRaCISBasicConfig").GetValue<int>("ImageShareExpireDays"); ImageShareExpireDays = configuration.GetSection("IRaCISBasicConfig").GetValue<int>("ImageShareExpireDays");