115 lines
5.4 KiB
C#
115 lines
5.4 KiB
C#
//using IRaCIS.Application.Interfaces;
|
|
//using IRaCIS.Application.Contracts;
|
|
//using IRaCIS.Core.Infra.EFCore;
|
|
//using IRaCIS.Core.Infrastructure;
|
|
|
|
//using Microsoft.AspNetCore.Http;
|
|
//using Microsoft.AspNetCore.Mvc;
|
|
//using Panda.DynamicWebApi.Attributes;
|
|
|
|
//namespace IRaCIS.Application.Services
|
|
//{
|
|
// /// <summary>
|
|
// /// 日志、项目审计日志
|
|
// /// </summary>
|
|
// [ApiExplorerSettings(GroupName = "Common")]
|
|
// public class LogService : BaseService, ILogService
|
|
// {
|
|
// private readonly IRepository<SystemLog> _systemLogRepository;
|
|
// private readonly IHttpContextAccessor _context;
|
|
// private readonly IRepository<TrialAudit> _trialAuditRepository;
|
|
// private readonly IRepository<Subject> _subjectRepository;
|
|
// private readonly IRepository<Trial> _trialRepository;
|
|
|
|
// public LogService(IRepository<SystemLog> systemLogRepository, IHttpContextAccessor context, IRepository<TrialAudit> trialAuditRepository,
|
|
// IRepository<Subject> subjectRepository, IRepository<Trial> trialRepository)
|
|
// {
|
|
// _systemLogRepository = systemLogRepository;
|
|
// _context = context;
|
|
// _trialAuditRepository = trialAuditRepository;
|
|
// _subjectRepository = subjectRepository;
|
|
// _trialRepository = trialRepository;
|
|
// }
|
|
|
|
// [HttpPost]
|
|
// public PageOutput<AuditDTO> GetAuditList(AuditQueryDTO param)
|
|
// {
|
|
// var subjectInfo = param.SubjectInfo == null ? string.Empty : param.SubjectInfo.Trim();
|
|
|
|
// var query = _trialAuditRepository.Where(x => x.TrialId == param.TrialId)
|
|
// .WhereIf(param.AuditType != null, t => t.AuditType == param.AuditType)
|
|
// .WhereIf(param.OptUserId != null, t => t.OptUserId == param.OptUserId)
|
|
// .WhereIf(param.SubjectId != null, t => t.SubjectId == param.SubjectId)
|
|
// .WhereIf(!string.IsNullOrEmpty(subjectInfo), t => t.Subject.Code.Contains(subjectInfo) || (t.Subject.LastName + " / " + t.Subject.FirstName).Contains(subjectInfo))
|
|
// .WhereIf(param.StudyId != null, t => t.StudyId == param.StudyId)
|
|
// .WhereIf(param.StartDate != null, t => t.OptTime >= param.StartDate)
|
|
// .WhereIf(param.EndDate != null, t => t.OptTime <= param.EndDate)
|
|
// .ProjectTo<AuditDTO>(_mapper.ConfigurationProvider);
|
|
|
|
|
|
// return query.ToPagedList(param.PageIndex, param.PageSize, string.IsNullOrWhiteSpace(param.SortField) ? "OptTime" : param.SortField, param.Asc);
|
|
|
|
// }
|
|
|
|
// /// <summary> 查询系统日志信息 </summary>
|
|
// [HttpPost]
|
|
// public PageOutput<SystemLogDTO> GetLogList(QueryLogQueryDTO param)
|
|
// {
|
|
|
|
// var LogCategory = param.LogCategory == null ? string.Empty : param.LogCategory.Trim();
|
|
// var keyword = param.Keyword == null ? string.Empty : param.Keyword.Trim();
|
|
// var logQueryable = _systemLogRepository
|
|
// .WhereIf(param.BeginTime!=null,t=>t.RequestTime>= param.BeginTime)
|
|
// .WhereIf(param.EndTime != null, t => t.RequestTime <= param.EndTime)
|
|
// .WhereIf(!string.IsNullOrEmpty(LogCategory), t => t.LogCategory == param.LogCategory)
|
|
// .WhereIf(!string.IsNullOrEmpty(keyword), t => t.Params.Contains(keyword) || t.Result.Contains(keyword))
|
|
// .ProjectTo<SystemLogDTO>(_mapper.ConfigurationProvider);
|
|
|
|
// return logQueryable.ToPagedList(param.PageIndex, param.PageSize, string.IsNullOrWhiteSpace(param.SortField) ? "RequestTime" : param.SortField, param.Asc);
|
|
|
|
// }
|
|
|
|
// [HttpGet("{trialId:guid}")]
|
|
// public List<OptUserDto> GetOptUserList(Guid trialId)
|
|
// {
|
|
// var list = _trialAuditRepository.Where(t => t.TrialId == trialId).Select(u => new OptUserDto()
|
|
// {
|
|
// OptUserId = u.OptUserId,
|
|
// OptUser = u.OptUser
|
|
// }).Distinct().ToList();
|
|
|
|
// return list;
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// 审计列表 受试者下拉框 从受试者那里进去看的时候,这里需要固定,如果不采用下拉框,请传递指定格式的受试者信息查询才行
|
|
// /// </summary>
|
|
// /// <param name="trialId"></param>
|
|
// /// <returns></returns>
|
|
// [HttpGet("{trialId:guid}")]
|
|
// public List<AuditSubjectSelectDto> GetSubjectList(Guid trialId)
|
|
// {
|
|
// var query = from trialAudit in _trialAuditRepository.Where(t => t.TrialId == trialId)
|
|
// join subject in _subjectRepository.AsQueryable() on trialAudit.SubjectId equals subject.Id
|
|
// select new AuditSubjectSelectDto()
|
|
// {
|
|
// SubjectCode = subject.Code,
|
|
// SubjectId = trialAudit.SubjectId,
|
|
// SubjectName = subject.LastName + " / " + subject.FirstName
|
|
// };
|
|
|
|
// return query.Distinct().ToList();
|
|
// }
|
|
|
|
// [NonDynamicMethod]
|
|
// public IResponseOutput SaveLog2Db(SystemLogDTO input)
|
|
// {
|
|
// input.ClientIP = IPHelper.GetIP(_context?.HttpContext?.Request);
|
|
|
|
// _systemLogRepository.Add(_mapper.Map<SystemLog>(input));
|
|
// var success = _systemLogRepository.SaveChanges();
|
|
// return ResponseOutput.Result(success);
|
|
// }
|
|
// }
|
|
//}
|