This commit is contained in:
he
2022-04-19 15:14:43 +08:00
parent fe6ac1a8be
commit bfc0fd4203
5 changed files with 319 additions and 102 deletions
@@ -322,31 +322,34 @@ namespace IRaCIS.Core.Application.Service.Inspection
//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 _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;
await _dataInspectionRepository.AddListInspectionRecordAsync(datas);
//foreach (var add in 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;
// 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)
{
if (JsonData[item].ToString().ToLower() == "true".ToLower())
{
JsonData[item] = "是";
} else if (JsonData[item].ToString().ToLower() == "false".ToLower())
{
JsonData[item] = "否";
}
// 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] = "否";
// }
}
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>
public async Task SetInspectionNameValue(DataInspection Data)
{
#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
await _dataInspectionRepository.SetInspectionNameValue(Data);
#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())
{
Data.SiteName = sitedata?.SiteName;
}
#endregion
//if (Data.SiteName.IsNullOrEmpty())
//{
// Data.SiteName = sitedata?.SiteName;
//}
//#endregion
#region
//#region 受试者
if (Data.SubjectCode.IsNullOrEmpty())
{
//if (Data.SubjectCode.IsNullOrEmpty())
//{
Data.SubjectCode = (await _repository.GetQueryable<Subject>().FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
}
#endregion
// Data.SubjectCode = (await _repository.GetQueryable<Subject>().FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
//}
//#endregion
#region 访
if (Data.SubjectVisitName.IsNullOrEmpty())
{
Data.SubjectVisitName = (await _repository.GetQueryable<SubjectVisit>().FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
}
#endregion
//#region 访视
//if (Data.SubjectVisitName.IsNullOrEmpty())
//{
// Data.SubjectVisitName = (await _repository.GetQueryable<SubjectVisit>().FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
//}
//#endregion
#region
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
{
UserName = a.FirstName + a.LastName,
Role = b
}).SelectMany(a => a.Role, (m, n) => new
{
UserName = m.UserName,
RoleName = n.UserTypeShortName
}).FirstOrDefaultAsync();
//#region 创建者
//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
// {
// 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 (Data.CreateUserName.IsNullOrEmpty())
{
Data.CreateUserName = userdata?.UserName;
}
// if (userdata != null)
// {
// if (Data.CreateUserName.IsNullOrEmpty())
// {
// Data.CreateUserName = userdata?.UserName;
// }
if (Data.RoleName.IsNullOrEmpty())
{
Data.RoleName = userdata?.RoleName;
}
}
}
#endregion
// if (Data.RoleName.IsNullOrEmpty())
// {
// Data.RoleName = userdata?.RoleName;
// }
// }
//}
//#endregion
#region
try
{
var from = await _frontAuditConfigRepository.FirstOrDefaultAsync(x => x.Identification == Data.Identification);
Data.ObjectType = from.ObjectTypeId;
Data.OptType = from.OptTypeId;
Data.ChildrenType = from.ChildrenTypeId;
Data.ModuleType = from.ModuleTypeId;
}
catch (Exception)
{
//#region 取操作类型
//try
//{
// var from = await _frontAuditConfigRepository.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("操作标识异常");
}
// throw new BusinessValidationFailedException("操作标识异常");
//}
#endregion
//#endregion
}
@@ -100,19 +100,22 @@ namespace IRaCIS.Application.Services
if (isadd)
{
List<DataInspection> datas = new List<DataInspection>();
datas.Add(new DataInspection()
{
TrialId = subjectCommand.TrialId,
SiteId = subjectCommand.SiteId,
SubjectId = mapedSubject.Id,
SubjectCode = subjectCommand.Code,
IsSign=false,
CreateTime = createtime,
Identification = "Init|Subject|Status|Subject",
JsonDetail= JsonConvert.SerializeObject(new {
Status= "新增",
})
});
// 移到仓储了
//datas.Add(new DataInspection()
//{
// TrialId = subjectCommand.TrialId,
// SiteId = subjectCommand.SiteId,
// SubjectId = mapedSubject.Id,
// SubjectCode = subjectCommand.Code,
// IsSign=false,
// CreateTime = createtime,
// Identification = "Init|Subject|Status|Subject",
// JsonDetail= JsonConvert.SerializeObject(new {
// Status= "新增",
// })
//});
var visittime = createtime.AddSeconds(1);
foreach (var item in mapedSubject.SubjectVisitList)