Uat_Study
parent
fe6ac1a8be
commit
bfc0fd4203
|
@ -322,31 +322,34 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
//var childrenTypes= datas.Select(x => x.ChildrenType).Distinct().ToList();
|
//var childrenTypes= datas.Select(x => x.ChildrenType).Distinct().ToList();
|
||||||
//var objectTypes = datas.Select(x => x.ObjectType).Distinct().ToList();
|
//var objectTypes = datas.Select(x => x.ObjectType).Distinct().ToList();
|
||||||
|
|
||||||
foreach (var add in datas)
|
|
||||||
{
|
await _dataInspectionRepository.AddListInspectionRecordAsync(datas);
|
||||||
await SetInspectionNameValue(add);
|
|
||||||
add.ParentId = (await _repository.GetQueryable<DataInspection>().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.ChildrenType == add.ChildrenType && x.ObjectType == add.ObjectType&&x.VisitStageId==add.VisitStageId&& x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
|
//foreach (var add in datas)
|
||||||
add.CreateUserId = _userInfo.Id;
|
//{
|
||||||
add.IP = _userInfo.IP;
|
// await SetInspectionNameValue(add);
|
||||||
|
// add.ParentId = (await _repository.GetQueryable<DataInspection>().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.ChildrenType == add.ChildrenType && x.ObjectType == add.ObjectType&&x.VisitStageId==add.VisitStageId&& x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
|
||||||
|
// add.CreateUserId = _userInfo.Id;
|
||||||
|
// add.IP = _userInfo.IP;
|
||||||
|
|
||||||
|
|
||||||
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(add.JsonDetail);
|
// var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(add.JsonDetail);
|
||||||
|
|
||||||
foreach (var item in JsonData.Keys)
|
// foreach (var item in JsonData.Keys)
|
||||||
{
|
// {
|
||||||
if (JsonData[item].ToString().ToLower() == "true".ToLower())
|
// if (JsonData[item].ToString().ToLower() == "true".ToLower())
|
||||||
{
|
// {
|
||||||
JsonData[item] = "是";
|
// JsonData[item] = "是";
|
||||||
} else if (JsonData[item].ToString().ToLower() == "false".ToLower())
|
// } else if (JsonData[item].ToString().ToLower() == "false".ToLower())
|
||||||
{
|
// {
|
||||||
JsonData[item] = "否";
|
// JsonData[item] = "否";
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
add.JsonDetail= JsonConvert.SerializeObject(JsonData);
|
// add.JsonDetail= JsonConvert.SerializeObject(JsonData);
|
||||||
}
|
//}
|
||||||
|
|
||||||
await _dataInspectionRepository.AddRangeAsync(datas);
|
//await _dataInspectionRepository.AddRangeAsync(datas);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -492,92 +495,95 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task SetInspectionNameValue(DataInspection Data)
|
public async Task SetInspectionNameValue(DataInspection Data)
|
||||||
{
|
{
|
||||||
#region 项目名称
|
|
||||||
|
|
||||||
var trialdata = await _repository.GetQueryable<Trial>().FirstOrDefaultAsync(x => x.Id == Data.TrialId);
|
await _dataInspectionRepository.SetInspectionNameValue(Data);
|
||||||
Data.ResearchProgramNo = trialdata?.ResearchProgramNo;
|
|
||||||
if (Data.TrialName.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Data.TrialName = trialdata?.ExperimentName;
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region 测试中心名称
|
//#region 项目名称
|
||||||
|
|
||||||
|
//var trialdata = await _repository.GetQueryable<Trial>().FirstOrDefaultAsync(x => x.Id == Data.TrialId);
|
||||||
|
//Data.ResearchProgramNo = trialdata?.ResearchProgramNo;
|
||||||
|
//if (Data.TrialName.IsNullOrEmpty())
|
||||||
|
//{
|
||||||
|
// Data.TrialName = trialdata?.ExperimentName;
|
||||||
|
//}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 测试中心名称
|
||||||
|
|
||||||
|
|
||||||
Data.SiteCode = (await _repository.GetQueryable<TrialSite>().FirstOrDefaultAsync(x => x.TrialId == Data.TrialId && x.SiteId == Data.SiteId))?.TrialSiteCode;
|
//Data.SiteCode = (await _repository.GetQueryable<TrialSite>().FirstOrDefaultAsync(x => x.TrialId == Data.TrialId && x.SiteId == Data.SiteId))?.TrialSiteCode;
|
||||||
|
|
||||||
var sitedata = await _repository.GetQueryable<Site>().FirstOrDefaultAsync(x => x.Id == Data.SiteId);
|
//var sitedata = await _repository.GetQueryable<Site>().FirstOrDefaultAsync(x => x.Id == Data.SiteId);
|
||||||
|
|
||||||
if (Data.SiteName.IsNullOrEmpty())
|
//if (Data.SiteName.IsNullOrEmpty())
|
||||||
{
|
//{
|
||||||
Data.SiteName = sitedata?.SiteName;
|
// Data.SiteName = sitedata?.SiteName;
|
||||||
}
|
//}
|
||||||
#endregion
|
//#endregion
|
||||||
|
|
||||||
#region 受试者
|
//#region 受试者
|
||||||
|
|
||||||
|
|
||||||
if (Data.SubjectCode.IsNullOrEmpty())
|
//if (Data.SubjectCode.IsNullOrEmpty())
|
||||||
{
|
//{
|
||||||
|
|
||||||
Data.SubjectCode = (await _repository.GetQueryable<Subject>().FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
|
// Data.SubjectCode = (await _repository.GetQueryable<Subject>().FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
|
||||||
}
|
//}
|
||||||
#endregion
|
//#endregion
|
||||||
|
|
||||||
#region 访视
|
//#region 访视
|
||||||
if (Data.SubjectVisitName.IsNullOrEmpty())
|
//if (Data.SubjectVisitName.IsNullOrEmpty())
|
||||||
{
|
//{
|
||||||
Data.SubjectVisitName = (await _repository.GetQueryable<SubjectVisit>().FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
|
// Data.SubjectVisitName = (await _repository.GetQueryable<SubjectVisit>().FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
|
||||||
}
|
//}
|
||||||
#endregion
|
//#endregion
|
||||||
|
|
||||||
#region 创建者
|
//#region 创建者
|
||||||
if (Data.CreateUserName.IsNullOrEmpty() || Data.RoleName.IsNullOrEmpty())
|
//if (Data.CreateUserName.IsNullOrEmpty() || Data.RoleName.IsNullOrEmpty())
|
||||||
{
|
//{
|
||||||
var userdata = await _repository.GetQueryable<User>().Where(x => x.Id == Data.CreateUserId).GroupJoin(_repository.GetQueryable<UserType>(), a => a.UserTypeId, b => b.Id, (a, b) => new
|
// var userdata = await _repository.GetQueryable<User>().Where(x => x.Id == Data.CreateUserId).GroupJoin(_repository.GetQueryable<UserType>(), a => a.UserTypeId, b => b.Id, (a, b) => new
|
||||||
{
|
// {
|
||||||
UserName = a.FirstName + a.LastName,
|
// UserName = a.FirstName + a.LastName,
|
||||||
Role = b
|
// Role = b
|
||||||
}).SelectMany(a => a.Role, (m, n) => new
|
// }).SelectMany(a => a.Role, (m, n) => new
|
||||||
{
|
// {
|
||||||
UserName = m.UserName,
|
// UserName = m.UserName,
|
||||||
RoleName = n.UserTypeShortName
|
// RoleName = n.UserTypeShortName
|
||||||
}).FirstOrDefaultAsync();
|
// }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
if (userdata != null)
|
// if (userdata != null)
|
||||||
{
|
// {
|
||||||
if (Data.CreateUserName.IsNullOrEmpty())
|
// if (Data.CreateUserName.IsNullOrEmpty())
|
||||||
{
|
// {
|
||||||
Data.CreateUserName = userdata?.UserName;
|
// Data.CreateUserName = userdata?.UserName;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
if (Data.RoleName.IsNullOrEmpty())
|
// if (Data.RoleName.IsNullOrEmpty())
|
||||||
{
|
// {
|
||||||
Data.RoleName = userdata?.RoleName;
|
// Data.RoleName = userdata?.RoleName;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
#endregion
|
//#endregion
|
||||||
|
|
||||||
#region 取操作类型
|
//#region 取操作类型
|
||||||
try
|
//try
|
||||||
{
|
//{
|
||||||
var from = await _frontAuditConfigRepository.FirstOrDefaultAsync(x => x.Identification == Data.Identification);
|
// var from = await _frontAuditConfigRepository.FirstOrDefaultAsync(x => x.Identification == Data.Identification);
|
||||||
Data.ObjectType = from.ObjectTypeId;
|
// Data.ObjectType = from.ObjectTypeId;
|
||||||
Data.OptType = from.OptTypeId;
|
// Data.OptType = from.OptTypeId;
|
||||||
Data.ChildrenType = from.ChildrenTypeId;
|
// Data.ChildrenType = from.ChildrenTypeId;
|
||||||
Data.ModuleType = from.ModuleTypeId;
|
// Data.ModuleType = from.ModuleTypeId;
|
||||||
}
|
//}
|
||||||
catch (Exception)
|
//catch (Exception)
|
||||||
{
|
//{
|
||||||
|
|
||||||
throw new BusinessValidationFailedException("操作标识异常");
|
// throw new BusinessValidationFailedException("操作标识异常");
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
//#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,19 +100,22 @@ namespace IRaCIS.Application.Services
|
||||||
if (isadd)
|
if (isadd)
|
||||||
{
|
{
|
||||||
List<DataInspection> datas = new List<DataInspection>();
|
List<DataInspection> datas = new List<DataInspection>();
|
||||||
datas.Add(new DataInspection()
|
|
||||||
{
|
// 移到仓储了
|
||||||
TrialId = subjectCommand.TrialId,
|
|
||||||
SiteId = subjectCommand.SiteId,
|
//datas.Add(new DataInspection()
|
||||||
SubjectId = mapedSubject.Id,
|
//{
|
||||||
SubjectCode = subjectCommand.Code,
|
// TrialId = subjectCommand.TrialId,
|
||||||
IsSign=false,
|
// SiteId = subjectCommand.SiteId,
|
||||||
CreateTime = createtime,
|
// SubjectId = mapedSubject.Id,
|
||||||
Identification = "Init|Subject|Status|Subject",
|
// SubjectCode = subjectCommand.Code,
|
||||||
JsonDetail= JsonConvert.SerializeObject(new {
|
// IsSign=false,
|
||||||
Status= "新增",
|
// CreateTime = createtime,
|
||||||
})
|
// Identification = "Init|Subject|Status|Subject",
|
||||||
});
|
// JsonDetail= JsonConvert.SerializeObject(new {
|
||||||
|
// Status= "新增",
|
||||||
|
// })
|
||||||
|
//});
|
||||||
|
|
||||||
var visittime = createtime.AddSeconds(1);
|
var visittime = createtime.AddSeconds(1);
|
||||||
foreach (var item in mapedSubject.SubjectVisitList)
|
foreach (var item in mapedSubject.SubjectVisitList)
|
||||||
|
|
|
@ -138,7 +138,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
#region Subject and Visit and study
|
#region Subject and Visit and study
|
||||||
public virtual DbSet<StudyMonitor> StudyMonitor { get; set; }
|
public virtual DbSet<StudyMonitor> StudyMonitor { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<Subject> Subjects { get; set; }
|
public virtual DbSet<Subject> Subject { get; set; }
|
||||||
public virtual DbSet<VisitStage> VisitPlans { get; set; }
|
public virtual DbSet<VisitStage> VisitPlans { get; set; }
|
||||||
public virtual DbSet<VisitPlanInfluenceStudy> VisitPlanInfluenceStudy { get; set; }
|
public virtual DbSet<VisitPlanInfluenceStudy> VisitPlanInfluenceStudy { get; set; }
|
||||||
|
|
||||||
|
@ -197,6 +197,8 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
public virtual DbSet<TrialSiteUser> UserTrialSite { get; set; }
|
public virtual DbSet<TrialSiteUser> UserTrialSite { get; set; }
|
||||||
public virtual DbSet<TrialSite> TrialSite { get; set; }
|
public virtual DbSet<TrialSite> TrialSite { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<Site> Site { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<TrialSiteUserSurvey> TrialSiteUserSurvey { get; set; }
|
public virtual DbSet<TrialSiteUserSurvey> TrialSiteUserSurvey { get; set; }
|
||||||
public virtual DbSet<TrialSiteEquipmentSurvey> TrialSiteEquipmentSurvey { get; set; }
|
public virtual DbSet<TrialSiteEquipmentSurvey> TrialSiteEquipmentSurvey { get; set; }
|
||||||
public virtual DbSet<TrialSiteSurvey> TrialSiteSurvey { get; set; }
|
public virtual DbSet<TrialSiteSurvey> TrialSiteSurvey { get; set; }
|
||||||
|
|
|
@ -18,7 +18,19 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
{
|
{
|
||||||
public interface IRepository<TEntity> : ICommandRepository<TEntity>, IQueryRepository<TEntity> where TEntity : Entity
|
public interface IRepository<TEntity> : ICommandRepository<TEntity>, IQueryRepository<TEntity> where TEntity : Entity
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取中心啥的名称
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Data"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task SetInspectionNameValue(DataInspection Data);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 添加稽查记录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="datas"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task AddListInspectionRecordAsync(List<DataInspection> datas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -418,7 +430,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
{
|
{
|
||||||
|
|
||||||
bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now)));
|
bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateTime))[0], Expression.Constant(DateTime.Now)));
|
||||||
bindings.Add(Expression.Bind(typeof(TR).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id)));
|
bindings.Add(Expression.Bind(typeof(T).GetMember(nameof(IAuditUpdate.UpdateUserId))[0], Expression.Constant(_userInfo.Id)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,14 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using Microsoft.Data.SqlClient;
|
using Microsoft.Data.SqlClient;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Infra.EFCore
|
namespace IRaCIS.Core.Infra.EFCore
|
||||||
{
|
{
|
||||||
public class Repository<TEntity> : IRepository<TEntity>
|
public class Repository<TEntity> : IRepository<TEntity>
|
||||||
where TEntity : Entity, new()
|
where TEntity : Entity, new()
|
||||||
{
|
{
|
||||||
|
|
||||||
public IMapper _mapper { get; set; }
|
public IMapper _mapper { get; set; }
|
||||||
public IRaCISDBContext _dbContext { get; set; }
|
public IRaCISDBContext _dbContext { get; set; }
|
||||||
|
|
||||||
|
@ -34,6 +36,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_userInfo = userInfo;
|
_userInfo = userInfo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 异步部分
|
#region 异步部分
|
||||||
|
@ -142,6 +145,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
public async Task<TEntity> InsertFromDTOAsync<TFrom>(TFrom from, bool autoSave = false, params EntityVerifyExp<TEntity>[] verify)
|
public async Task<TEntity> InsertFromDTOAsync<TFrom>(TFrom from, bool autoSave = false, params EntityVerifyExp<TEntity>[] verify)
|
||||||
{
|
{
|
||||||
|
List<DataInspection> datas = new List<DataInspection>();
|
||||||
var entity = _mapper.Map<TEntity>(from);
|
var entity = _mapper.Map<TEntity>(from);
|
||||||
|
|
||||||
await EntityVerifyAsync(true, verify);
|
await EntityVerifyAsync(true, verify);
|
||||||
|
@ -150,11 +154,201 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
await SaveChangesAsync(autoSave);
|
await SaveChangesAsync(autoSave);
|
||||||
|
|
||||||
|
// 这里用不了 switch
|
||||||
|
//switch (typeof(TEntity))
|
||||||
|
//{
|
||||||
|
// case typeof(Dictionary):
|
||||||
|
// break;
|
||||||
|
//}
|
||||||
|
|
||||||
|
var createtime = DateTime.Now.AddSeconds(1);
|
||||||
|
|
||||||
|
// 受试者
|
||||||
|
if (typeof(TEntity) == typeof(Subject))
|
||||||
|
{
|
||||||
|
Subject data = entity as Subject;
|
||||||
|
datas.Add(new DataInspection()
|
||||||
|
{
|
||||||
|
TrialId = data.TrialId,
|
||||||
|
SiteId = data.SiteId,
|
||||||
|
SubjectId = data.Id,
|
||||||
|
SubjectCode = data.Code,
|
||||||
|
IsSign = false,
|
||||||
|
CreateTime = createtime,
|
||||||
|
Identification = "Init|Subject|Status|Subject",
|
||||||
|
JsonDetail = JsonConvert.SerializeObject(new
|
||||||
|
{
|
||||||
|
Status = "新增",
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
await AddListInspectionRecordAsync(datas);
|
||||||
return entity;
|
return entity;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region 稽查
|
||||||
|
/// <summary>
|
||||||
|
/// 添加稽查记录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="datas"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task AddListInspectionRecordAsync(List<DataInspection> datas)
|
||||||
|
{
|
||||||
|
//var trialIds= datas.Select(x=>x.TrialId).Distinct().ToList();
|
||||||
|
//var subjectVisitIds= datas.Select(x=>x.SubjectVisitId).Distinct().ToList();
|
||||||
|
//var subjectIds = datas.Select(x => x.SubjectId).Distinct().ToList();
|
||||||
|
//var siteIds = datas.Select(x => x.SiteId).Distinct().ToList();
|
||||||
|
//var childrenTypes= datas.Select(x => x.ChildrenType).Distinct().ToList();
|
||||||
|
//var objectTypes = datas.Select(x => x.ObjectType).Distinct().ToList();
|
||||||
|
|
||||||
|
foreach (var add in datas)
|
||||||
|
{
|
||||||
|
await SetInspectionNameValue(add);
|
||||||
|
add.ParentId = (await _dbContext.DataInspection.AsQueryable().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.ChildrenType == add.ChildrenType && x.ObjectType == add.ObjectType && x.VisitStageId == add.VisitStageId && x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id;
|
||||||
|
add.CreateUserId = _userInfo.Id;
|
||||||
|
add.IP = _userInfo.IP;
|
||||||
|
var JsonData = JsonConvert.DeserializeObject<IDictionary<string, object>>(add.JsonDetail);
|
||||||
|
|
||||||
|
foreach (var item in JsonData.Keys)
|
||||||
|
{
|
||||||
|
if (JsonData[item].ToString().ToLower() == "true".ToLower())
|
||||||
|
{
|
||||||
|
JsonData[item] = "是";
|
||||||
|
}
|
||||||
|
else if (JsonData[item].ToString().ToLower() == "false".ToLower())
|
||||||
|
{
|
||||||
|
JsonData[item] = "否";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (add.CreateTime == default(DateTime))
|
||||||
|
{
|
||||||
|
add.CreateTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
add.JsonDetail = JsonConvert.SerializeObject(JsonData);
|
||||||
|
}
|
||||||
|
|
||||||
|
await _dbContext.DataInspection.AddRangeAsync(datas);
|
||||||
|
await _dbContext.SaveChangesAsync();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// IsNullOrEmpty
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private bool IsNullOrEmpty(object value)
|
||||||
|
{
|
||||||
|
if (value.ToString() == null || value.ToString() == string.Empty)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置项目以及名称
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Data"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task SetInspectionNameValue(DataInspection Data)
|
||||||
|
{
|
||||||
|
#region 项目名称
|
||||||
|
|
||||||
|
var trialdata = await _dbContext.Trial.FirstOrDefaultAsync(x => x.Id == Data.TrialId);
|
||||||
|
Data.ResearchProgramNo = trialdata?.ResearchProgramNo;
|
||||||
|
if (IsNullOrEmpty(Data.TrialName))
|
||||||
|
{
|
||||||
|
Data.TrialName = trialdata?.ExperimentName;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 测试中心名称
|
||||||
|
|
||||||
|
|
||||||
|
Data.SiteCode = (await _dbContext.TrialSite.FirstOrDefaultAsync(x => x.TrialId == Data.TrialId && x.SiteId == Data.SiteId))?.TrialSiteCode;
|
||||||
|
|
||||||
|
var sitedata = await _dbContext.Site.FirstOrDefaultAsync(x => x.Id == Data.SiteId);
|
||||||
|
|
||||||
|
if (IsNullOrEmpty(Data.SiteName))
|
||||||
|
{
|
||||||
|
Data.SiteName = sitedata?.SiteName;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 受试者
|
||||||
|
|
||||||
|
|
||||||
|
if (IsNullOrEmpty(Data.SubjectCode))
|
||||||
|
{
|
||||||
|
|
||||||
|
Data.SubjectCode = (await _dbContext.Subject.FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 访视
|
||||||
|
if (IsNullOrEmpty(Data.SubjectVisitName))
|
||||||
|
{
|
||||||
|
Data.SubjectVisitName = (await _dbContext.SubjectVisit.FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 创建者
|
||||||
|
if (IsNullOrEmpty(Data.CreateUserName) || IsNullOrEmpty(Data.RoleName))
|
||||||
|
{
|
||||||
|
var userdata = await _dbContext.Users.AsQueryable().Where(x => x.Id == Data.CreateUserId).GroupJoin(_dbContext.UserType.AsQueryable(), a => a.UserTypeId, b => b.Id, (a, b) => new
|
||||||
|
{
|
||||||
|
UserName = a.FirstName + a.LastName,
|
||||||
|
Role = b
|
||||||
|
}).SelectMany(a => a.Role, (m, n) => new
|
||||||
|
{
|
||||||
|
UserName = m.UserName,
|
||||||
|
RoleName = n.UserTypeShortName
|
||||||
|
}).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
if (userdata != null)
|
||||||
|
{
|
||||||
|
if (IsNullOrEmpty(Data.CreateUserName))
|
||||||
|
{
|
||||||
|
Data.CreateUserName = userdata?.UserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (IsNullOrEmpty(Data.RoleName))
|
||||||
|
{
|
||||||
|
Data.RoleName = userdata?.RoleName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 取操作类型
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var from = await _dbContext.FrontAuditConfig.FirstOrDefaultAsync(x => x.Identification == Data.Identification);
|
||||||
|
Data.ObjectType = from.ObjectTypeId;
|
||||||
|
Data.OptType = from.OptTypeId;
|
||||||
|
Data.ChildrenType = from.ChildrenTypeId;
|
||||||
|
Data.ModuleType = from.ModuleTypeId;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
throw new BusinessValidationFailedException("操作标识异常");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用前端传递的视图模型字段,更新,同时返回数据库该条记录的原始信息,方便对比某些字段是否更改,进行相应的逻辑操作
|
/// 用前端传递的视图模型字段,更新,同时返回数据库该条记录的原始信息,方便对比某些字段是否更改,进行相应的逻辑操作
|
||||||
|
|
Loading…
Reference in New Issue