diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index ec7381d79..de915ef90 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1955,6 +1955,13 @@ 数据字典-基础数据维护 + + + 添加bool + + + + New 查询条件 diff --git a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs index 6ac144f5b..bc9e9d905 100644 --- a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs +++ b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs @@ -29,7 +29,36 @@ namespace IRaCIS.Application.Services _trialRepository = trialRepository; } + /// + /// 添加bool + /// + /// + /// + [HttpPost] + public async Task AddBoolDic(AddOrEditBasicDic addOrEditBasic) + { + var entity = await _dicRepository.InsertFromDTOAsync(addOrEditBasic); + + + + var child1 = entity.Clone(); + child1.Id = Guid.Empty; + child1.Code = "true"; + child1.ParentId = entity.Id; + + entity.ChildList.Add(child1); + + var child2 = entity.Clone(); + child2.Id = Guid.Empty; + child2.Code = "false"; + child2.ParentId = entity.Id; + + entity.ChildList.Add(child2); + + await _dicRepository.SaveChangesAsync(); + return ResponseOutput.Ok(entity.Id.ToString()); + } /// /// New 查询条件 @@ -44,17 +73,17 @@ namespace IRaCIS.Application.Services .WhereIf(!string.IsNullOrEmpty(basicDicQuery.Code), t => t.Code.Contains(basicDicQuery.Code!)) .WhereIf(!string.IsNullOrEmpty(basicDicQuery.keyInfo), t => t.Description.Contains(basicDicQuery.keyInfo!) || t.Code.Contains(basicDicQuery.keyInfo!) - || t.ChildList.Any(u=>u.ValueCN.Contains(basicDicQuery.keyInfo!)) - || t.ChildList.Any(u => u.Description.Contains(basicDicQuery.keyInfo!)) + || t.ChildList.Any(u => u.ValueCN.Contains(basicDicQuery.keyInfo!)) + || t.ChildList.Any(u => u.Description.Contains(basicDicQuery.keyInfo!)) || t.ChildList.Any(u => u.Value.Contains(basicDicQuery.keyInfo!))) - + .WhereIf(basicDicQuery.ConfigTypeId != null, t => t.ConfigTypeId == basicDicQuery.ConfigTypeId!) .WhereIf(basicDicQuery.DataTypeEnum != null, t => t.DataTypeEnum == basicDicQuery.DataTypeEnum) .WhereIf(basicDicQuery.DataTypeEnum == null, t => t.DataTypeEnum != DicDataTypeEnum.Config) .ProjectTo(_mapper.ConfigurationProvider); - return await systemBasicDataQueryable.ToPagedListAsync(basicDicQuery.PageIndex, basicDicQuery.PageSize, String.IsNullOrEmpty(basicDicQuery.SortField) ? nameof(BasicDicView.ConfigType) : basicDicQuery.SortField, basicDicQuery.Asc, String.IsNullOrEmpty(basicDicQuery.SortField), new []{ nameof(BasicDicView.ConfigType) ,nameof(BasicDicView.ShowOrder)}); + return await systemBasicDataQueryable.ToPagedListAsync(basicDicQuery.PageIndex, basicDicQuery.PageSize, String.IsNullOrEmpty(basicDicQuery.SortField) ? nameof(BasicDicView.ConfigType) : basicDicQuery.SortField, basicDicQuery.Asc, String.IsNullOrEmpty(basicDicQuery.SortField), new[] { nameof(BasicDicView.ConfigType), nameof(BasicDicView.ShowOrder) }); } @@ -66,8 +95,13 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task AddOrUpdateBasicDic(AddOrEditBasicDic addOrEditBasic) { - - var entity = await _dicRepository.InsertOrUpdateAsync(addOrEditBasic, true); + var verifyExp1 = new EntityVerifyExp() + { + VerifyExp = t => t.Code == addOrEditBasic.Code, + VerifyMsg = $"已有{addOrEditBasic.Code}名称的字典", + IsVerify= addOrEditBasic.ParentId ==null + }; + var entity = await _dicRepository.InsertOrUpdateAsync(addOrEditBasic, true, verifyExp1); return ResponseOutput.Ok(entity.Id.ToString()); } @@ -91,7 +125,7 @@ namespace IRaCIS.Application.Services [HttpDelete("{id:guid}")] public async Task DeleteDictionary(Guid id) { - if ( await _dicRepository.AnyAsync(t => t.ParentId == id)) + if (await _dicRepository.AnyAsync(t => t.ParentId == id)) { return ResponseOutput.NotOk("有子项数据,不允许直接删除!"); } @@ -125,7 +159,7 @@ namespace IRaCIS.Application.Services var searchList = await _dicRepository.Where(t => searchArray.Contains(t.Parent.Code) && t.ParentId != null && t.IsEnable).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - return searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t=>t.ShowOrder).ToList()); + return searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList()); } @@ -136,7 +170,7 @@ namespace IRaCIS.Application.Services /// public async Task> GetBasicDataSelect(string searchKey) { - var searchList = await _dicRepository.Where(t => t.Parent.Code== searchKey && t.ParentId != null && t.IsEnable).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var searchList = await _dicRepository.Where(t => t.Parent.Code == searchKey && t.ParentId != null && t.IsEnable).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); return searchList; } diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index 4f8155173..f3ec3d595 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -14,6 +14,7 @@ using Microsoft.AspNetCore.Authorization; using MailKit.Security; using MimeKit; using IRaCIS.Core.Application.Helper; +using IRaCIS.Core.Application.Filter; namespace IRaCIS.Core.Application.Contracts { @@ -323,6 +324,7 @@ namespace IRaCIS.Core.Application.Contracts /// /// /// + [TypeFilter(typeof(TrialResourceFilter))] public async Task AddOrUpdateTrialSiteSurvey(TrialSiteSurveyAddOrEdit addOrEditTrialSiteSurvey) { @@ -465,6 +467,8 @@ namespace IRaCIS.Core.Application.Contracts /// 驳回 New /// /// + [TypeFilter(typeof(TrialResourceFilter))] + public async Task SubmissionRejection(TrialSiteSubmitBackCommand trialSiteSubmitBackCommand) { var trialSiteSurveyId = trialSiteSubmitBackCommand.TrialSiteSurveyId; @@ -614,6 +618,8 @@ namespace IRaCIS.Core.Application.Contracts [HttpPut("{trialId:guid}/{trialSiteSurveyId:guid}")] + [TypeFilter(typeof(TrialResourceFilter))] + public async Task AbandonSiteSurvey(Guid trialSiteSurveyId) { var survey = (await _trialSiteSurveyRepository.FirstOrDefaultAsync(t => t.Id == trialSiteSurveyId, true)).IfNullThrowConvertException(); @@ -640,6 +646,7 @@ namespace IRaCIS.Core.Application.Contracts /// //[TypeFilter(typeof(TrialResourceFilter))] [HttpPost] + [TypeFilter(typeof(TrialResourceFilter))] public async Task TrialSurveySubmit(TrialSiteSurvyeSubmitDTO siteSurvyeSubmit) { @@ -747,6 +754,7 @@ namespace IRaCIS.Core.Application.Contracts await _trialSiteUserSurveyRepository.SaveChangesAsync(); } + [TypeFilter(typeof(TrialResourceFilter))] public async Task SendSiteSurveyUserJoinEmail(TrialSiteUserSurveyJoinCommand joinCommand) { diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs index a6cde295a..4e30ea8d0 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs @@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Authorization; using Panda.DynamicWebApi.Attributes; using IRaCIS.Core.Application.Auth; using IRaCIS.Application.Services; +using IRaCIS.Core.Application.Filter; namespace IRaCIS.Core.Application.Service { @@ -66,6 +67,7 @@ namespace IRaCIS.Core.Application.Service /// /// [Authorize(Policy = IRaCISPolicy.PM_APM)] + [TypeFilter(typeof(TrialResourceFilter))] public async Task AddOrUpdateTrialExternalUser(TrialExternalUserAddAndSendEmail addOrEditTrialExternalUser) { @@ -188,6 +190,7 @@ namespace IRaCIS.Core.Application.Service //New 省掉邀请流程 [HttpPost] [Authorize(Policy = IRaCISPolicy.PM_APM)] + [TypeFilter(typeof(TrialResourceFilter))] public async Task SendExternalUserJoinEmail(TrialExternalUserSendEmail sendEmail) { var trialId = sendEmail.TrialId;