Compare commits

..

No commits in common. "613f2d8c6ca4a83a6ab36e95d50be148415b75f7" and "13acd950adbe2799a1d424c4a62f728c7d1de453" have entirely different histories.

3 changed files with 5 additions and 71 deletions

View File

@ -35,14 +35,6 @@ namespace IRaCIS.Core.Application.ViewModel
public UserTypeEnum UserTypeEnum { get; set; } public UserTypeEnum UserTypeEnum { get; set; }
} }
public class GetUserFeedBackQuery
{
public Guid? Id { get; set; }
public Guid? VisitTaskId { get; set; }
}
///<summary>UserFeedBackQuery 列表查询参数模型</summary> ///<summary>UserFeedBackQuery 列表查询参数模型</summary>
public class UserFeedBackQuery : PageInput public class UserFeedBackQuery : PageInput
{ {
@ -86,8 +78,6 @@ namespace IRaCIS.Core.Application.ViewModel
[NotDefault] [NotDefault]
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public Guid? VisitTaskId { get; set; }
public List<string> ScreenshotList { get; set; } public List<string> ScreenshotList { get; set; }
[JsonIgnore] [JsonIgnore]

View File

@ -9,8 +9,6 @@ using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Application.ViewModel;
using Newtonsoft.Json; using Newtonsoft.Json;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure;
namespace IRaCIS.Core.Application.Service namespace IRaCIS.Core.Application.Service
{ {
/// <summary> /// <summary>
@ -31,10 +29,7 @@ namespace IRaCIS.Core.Application.Service
public async Task<PageOutput<UserFeedBackView>> GetUserFeedBackList(UserFeedBackQuery inQuery) public async Task<PageOutput<UserFeedBackView>> GetUserFeedBackList(UserFeedBackQuery inQuery)
{ {
var isCRCOrIR = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer;
var userFeedBackQueryable = _userFeedBackRepository var userFeedBackQueryable = _userFeedBackRepository
.WhereIf(isCRCOrIR, t => t.CreateUserId == _userInfo.Id)
.WhereIf(inQuery.State != null, t => t.State == inQuery.State) .WhereIf(inQuery.State != null, t => t.State == inQuery.State)
.WhereIf(inQuery.QuestionType != null, t => t.QuestionType == inQuery.QuestionType) .WhereIf(inQuery.QuestionType != null, t => t.QuestionType == inQuery.QuestionType)
.WhereIf(inQuery.BeginCreatime != null, t => t.CreateTime >= inQuery.BeginCreatime) .WhereIf(inQuery.BeginCreatime != null, t => t.CreateTime >= inQuery.BeginCreatime)
@ -56,56 +51,11 @@ namespace IRaCIS.Core.Application.Service
return pageList; return pageList;
} }
[HttpPost]
public async Task<IResponseOutput> GetUserFeedBackInfo(GetUserFeedBackQuery inQuery)
{
if (inQuery.Id == null && inQuery.VisitTaskId == null)
{
throw new BusinessValidationFailedException("Id 或者VisitTaskId 必传一个");
}
var result = _userFeedBackRepository.WhereIf(inQuery.Id == null, t => t.VisitTaskId == inQuery.VisitTaskId)
.WhereIf(inQuery.VisitTaskId == null, t => t.Id == inQuery.Id).ProjectTo<UserFeedBackView>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
return ResponseOutput.Ok(result);
}
public async Task<IResponseOutput> AddOrUpdateUserFeedBack(UserFeedBackAddOrEdit addOrEditUserFeedBack) public async Task<IResponseOutput> AddOrUpdateUserFeedBack(UserFeedBackAddOrEdit addOrEditUserFeedBack)
{ {
addOrEditUserFeedBack.ScreenshotListStr = JsonConvert.SerializeObject(addOrEditUserFeedBack.ScreenshotList); addOrEditUserFeedBack.ScreenshotListStr = JsonConvert.SerializeObject(addOrEditUserFeedBack.ScreenshotList);
if (addOrEditUserFeedBack.VisitTaskId != null)
{
var info = await _repository.Where<VisitTask>(t => t.Id == addOrEditUserFeedBack.VisitTaskId).Select(t => new { t.SubjectId, t.SourceSubjectVisitId, t.Subject.TrialSiteId }).FirstOrDefaultAsync();
if (info != null)
{
addOrEditUserFeedBack.SubjectId = info.SubjectId;
addOrEditUserFeedBack.TrialSiteId = info.TrialSiteId;
addOrEditUserFeedBack.SubjectVisitId = info.SourceSubjectVisitId;
}
}
else if (addOrEditUserFeedBack.SubjectVisitId != null)
{
var info = await _repository.Where<SubjectVisit>(t => t.Id == addOrEditUserFeedBack.SubjectVisitId).Select(t => new { t.TrialSiteId, t.SubjectId }).FirstOrDefaultAsync();
if (info != null)
{
addOrEditUserFeedBack.TrialSiteId = info.TrialSiteId;
addOrEditUserFeedBack.SubjectId = info.SubjectId;
}
}
else if (addOrEditUserFeedBack.SubjectId != null)
{
var info = await _repository.Where<Subject>(t => t.Id == addOrEditUserFeedBack.SubjectId).Select(t => new { t.TrialSiteId }).FirstOrDefaultAsync();
if (info != null)
{
addOrEditUserFeedBack.TrialSiteId = info.TrialSiteId;
}
}
var entity = await _userFeedBackRepository.InsertOrUpdateAsync(addOrEditUserFeedBack, true); var entity = await _userFeedBackRepository.InsertOrUpdateAsync(addOrEditUserFeedBack, true);

View File

@ -27,12 +27,6 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore] [JsonIgnore]
public User CreateUser { get; set; } public User CreateUser { get; set; }
[JsonIgnore]
public VisitTask VisitTask { get; set; }
public Guid? VisitTaskId { get; set; }
public Guid? SubjectId { get; set; } public Guid? SubjectId { get; set; }