diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
index 0eb3e688f..2fca14b75 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
@@ -52,12 +52,20 @@ namespace IRaCIS.Core.Application.Service
///
/// 新增或修改系统医学审核问题
///
- ///
+ ///
///
[HttpPost]
- public async Task AddOrUpdateReadingMedicineSystemQuestion(ReadingMedicineSystemQuestionAddOrEdit addOrEditReadingMedicineSystemQuestion)
+ public async Task AddOrUpdateReadingMedicineSystemQuestion(ReadingMedicineSystemQuestionAddOrEdit inDto)
{
- var entity = await _readingMedicineSystemQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineSystemQuestion);
+ var existsQuery = _readingMedicineSystemQuestionRepository
+ .WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
+ .Where(x => x.QuestionName == inDto.QuestionName ||x.ShowOrder == inDto.ShowOrder);
+
+ if (await existsQuery.AnyAsync())
+ {
+ return ResponseOutput.NotOk("当前问题名称或序号存在重复");
+ }
+ var entity = await _readingMedicineSystemQuestionRepository.InsertOrUpdateAsync(inDto);
await _readingMedicineSystemQuestionRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString());
}
@@ -116,7 +124,7 @@ namespace IRaCIS.Core.Application.Service
public async Task> GetMedicineQuestionPreview(GetMedicineQuestionPreviewInDto inDto)
{
var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x=>x.TrialId==inDto.TrialId)
- .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
List readingQuestionList = trialQuestionList.Where(x => x.ParentId == null).ToList();
readingQuestionList.ForEach(x =>
@@ -142,12 +150,20 @@ namespace IRaCIS.Core.Application.Service
///
/// 新增或修改项目医学审核问题
///
- ///
+ ///
///
[HttpPost]
- public async Task AddOrUpdateReadingMedicineTrialQuestion(ReadingMedicineTrialQuestionAddOrEdit addOrEditReadingMedicineTrialQuestion)
+ public async Task AddOrUpdateReadingMedicineTrialQuestion(ReadingMedicineTrialQuestionAddOrEdit inDto)
{
- var entity = await _readingMedicineTrialQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineTrialQuestion);
+ var existsQuery = _readingMedicineSystemQuestionRepository
+ .WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
+ .Where(x => x.QuestionName == inDto.QuestionName || x.ShowOrder == inDto.ShowOrder);
+
+ if (await existsQuery.AnyAsync())
+ {
+ return ResponseOutput.NotOk("当前问题名称或序号存在重复");
+ }
+ var entity = await _readingMedicineTrialQuestionRepository.InsertOrUpdateAsync(inDto);
await _readingMedicineTrialQuestionRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString());