代码修改

Uat_Study
he 2023-06-16 17:18:47 +08:00
parent c403951050
commit e22b019147
10 changed files with 786 additions and 2 deletions

View File

@ -2484,6 +2484,67 @@
<param name="command"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.ClinicalQuestionService">
<summary>
临床数据问题
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetTrialClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionQuery)">
<summary>
获取项目临床问题
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.AddOrUpdateTrialClinicalQuestion(IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionDto)">
<summary>
新增或者修改项目临床问题
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.DeleteTrialClinicalQuestion(System.Guid)">
<summary>
删除项目临床数据问题
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetTrialClinicalGroupQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialGroupDto)">
<summary>
获取项目问题分组
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionQuery)">
<summary>
获取系统临床问题
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.AddOrUpdateSystemClinicalQuestion(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionDto)">
<summary>
新增或者修改系统临床问题
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.DeleteSystemClinicalQuestion(System.Guid)">
<summary>
删除系统临床数据问题
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalGroupQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.GetSystemGroupDto)">
<summary>
获取系统问题分组
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.ClinicalDataSetName">
<summary>
名称
@ -2694,6 +2755,116 @@
是否启用
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase">
<summary>
临床问题基本信息
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.QuestionEnName">
<summary>
问题英文名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalQuestionTypeEnum">
<summary>
临床问题类型(分组,单选。)
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalQuestionMarkEnum">
<summary>
问题标识
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.MaxAnswerLength">
<summary>
最大长度
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalOptionTypeEnum">
<summary>
临床数据选项类型(无,自定义)
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.GroupId">
<summary>
分组Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.TypeValue">
<summary>
自定义选项
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.DictionaryCode">
<summary>
字典Code
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ShowOrder">
<summary>
排序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.IsRequired">
<summary>
是否必填
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionQueryBase">
<summary>
查询临床数据基类
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionQueryBase.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionQuery">
<summary>
获取项目临床数据
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialGroupDto">
<summary>
获取项目分组
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionDto">
<summary>
项目临床数据问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalQuestionDto.TrialClinicalId">
<summary>
项目临床数据Id
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionQuery">
<summary>
获取系统临床数据
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionDto">
<summary>
系统临床数据问题
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionDto.SystemClinicalId">
<summary>
系统临床数据Id
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.GetSystemGroupDto">
<summary>
获取系统分组
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto.TrialSiteCode">
<summary>
项目中心Code

View File

@ -0,0 +1,158 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2023-06-15 15:06:06
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Infra.EFCore.Common;
namespace IRaCIS.Core.Application.Service
{
/// <summary>
/// 临床数据问题
/// </summary>
[ ApiExplorerSettings(GroupName = "Reading")]
public class ClinicalQuestionService: BaseService
{
private readonly IRepository<TrialClinicalQuestion> _trialClinicalQuestionRepository;
private readonly IRepository<SystemClinicalQuestion> _systemClinicalQuestionRepository;
public ClinicalQuestionService(IRepository<TrialClinicalQuestion> trialClinicalQuestionRepository,
IRepository<SystemClinicalQuestion> systemClinicalQuestionRepository
)
{
_trialClinicalQuestionRepository = trialClinicalQuestionRepository;
_systemClinicalQuestionRepository = systemClinicalQuestionRepository;
}
#region 项目问题
/// <summary>
/// 获取项目临床问题
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<TrialClinicalQuestionDto>> GetTrialClinicalQuestionList(TrialClinicalQuestionQuery inQuery)
{
var trialClinicalQuestionQueryable =_trialClinicalQuestionRepository
.WhereIf(!inQuery.QuestionName.IsNullOrEmpty(),x=>x.QuestionName.Contains(inQuery.QuestionName)||x.QuestionEnName.Contains(inQuery.QuestionName))
.ProjectTo<TrialClinicalQuestionDto>(_mapper.ConfigurationProvider);
var pageList = await trialClinicalQuestionQueryable
.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialClinicalQuestion.ShowOrder) : inQuery.SortField,
inQuery.Asc);
return pageList;
}
/// <summary>
/// 新增或者修改项目临床问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateTrialClinicalQuestion(TrialClinicalQuestionDto inDto)
{
var entity = await _trialClinicalQuestionRepository.InsertOrUpdateAsync(inDto, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除项目临床数据问题
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("{id:guid}")]
public async Task<IResponseOutput> DeleteTrialClinicalQuestion(Guid id)
{
var success = await _trialClinicalQuestionRepository.DeleteFromQueryAsync(t => t.Id == id, true);
return ResponseOutput.Ok();
}
/// <summary>
/// 获取项目问题分组
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<TrialClinicalQuestionDto>> GetTrialClinicalGroupQuestionList(GetTrialGroupDto inDto)
{
return await this._trialClinicalQuestionRepository.Where(x=>x.TrialClinicalId== inDto.TrialClinicalId)
.ProjectTo<TrialClinicalQuestionDto>(_mapper.ConfigurationProvider).ToListAsync();
}
#endregion
#region 系统问题
/// <summary>
/// 获取系统临床问题
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<SystemClinicalQuestionDto>> GetSystemClinicalQuestionList(SystemClinicalQuestionQuery inQuery)
{
var systemClinicalQuestionQueryable = _systemClinicalQuestionRepository
.WhereIf(!inQuery.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inQuery.QuestionName) || x.QuestionEnName.Contains(inQuery.QuestionName))
.ProjectTo<SystemClinicalQuestionDto>(_mapper.ConfigurationProvider);
var pageList = await systemClinicalQuestionQueryable
.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(SystemClinicalQuestion.ShowOrder) : inQuery.SortField,
inQuery.Asc);
return pageList;
}
/// <summary>
/// 新增或者修改系统临床问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateSystemClinicalQuestion(SystemClinicalQuestionDto inDto)
{
var entity = await _systemClinicalQuestionRepository.InsertOrUpdateAsync(inDto, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除系统临床数据问题
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("{id:guid}")]
public async Task<IResponseOutput> DeleteSystemClinicalQuestion(Guid id)
{
var success = await _systemClinicalQuestionRepository.DeleteFromQueryAsync(t => t.Id == id, true);
return ResponseOutput.Ok();
}
/// <summary>
/// 获取系统问题分组
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<SystemClinicalQuestionDto>> GetSystemClinicalGroupQuestionList(GetSystemGroupDto inDto)
{
return await this._systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId)
.ProjectTo<SystemClinicalQuestionDto>(_mapper.ConfigurationProvider).ToListAsync();
}
#endregion
}
}

View File

@ -0,0 +1,143 @@
using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
/// <summary>
/// 临床问题基本信息
/// </summary>
public class ClinicalQuestionBase
{
public Guid? Id { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public ClinicalQuestionType ClinicalQuestionTypeEnum { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public ClinicalQuestionMark? ClinicalQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 分组Id
/// </summary>
public Guid? GroupId { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; } = 0;
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; } = false;
}
/// <summary>
/// 查询临床数据基类
/// </summary>
public class ClinicalQuestionQueryBase : PageInput
{
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
}
/// <summary>
/// 获取项目临床数据
/// </summary>
public class TrialClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid TrialClinicalId { get; set; }
}
/// <summary>
/// 获取项目分组
/// </summary>
public class GetTrialGroupDto
{
public Guid TrialClinicalId { get; set; }
}
/// <summary>
/// 项目临床数据问题
/// </summary>
public class TrialClinicalQuestionDto: ClinicalQuestionBase
{
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
}
/// <summary>
/// 获取系统临床数据
/// </summary>
public class SystemClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid SystemClinicalId { get; set; }
}
/// <summary>
/// 系统临床数据问题
/// </summary>
public class SystemClinicalQuestionDto : ClinicalQuestionBase
{
/// <summary>
/// 系统临床数据Id
/// </summary>
public Guid SystemClinicalId { get; set; }
}
/// <summary>
/// 获取系统分组
/// </summary>
public class GetSystemGroupDto
{
public Guid SystemClinicalId { get; set; }
}
}

View File

@ -17,6 +17,11 @@ namespace IRaCIS.Core.Application.Service
//是否英文环境
var isEn_Us=false;
#region 临床问题
CreateMap<TrialClinicalQuestion, TrialClinicalQuestionDto>();
CreateMap<TrialClinicalQuestionDto, TrialClinicalQuestion>();
#endregion
CreateMap<VisitTask, VisitTaskDto>();
CreateMap<ShortcutKey, DefaultShortcutKeyView>();

View File

@ -16,6 +16,83 @@ namespace IRaCIS.Core.Domain.Share
public static readonly string Group = "group";
}
/// <summary>
/// 临床数据问题类型
/// </summary>
public enum ClinicalQuestionType
{
/// <summary>
/// 分组
/// </summary>
Group = 1,
/// <summary>
/// 表格
/// </summary>
Table = 2,
/// <summary>
/// 单行文本框
/// </summary>
Input = 3,
/// <summary>
/// 多行文本框
/// </summary>
TextArea = 4,
/// <summary>
/// 单选题
/// </summary>
Select = 5,
/// <summary>
/// 多选题
/// </summary>
Multiple = 6,
/// <summary>
/// 时间
/// </summary>
Time = 7
}
/// <summary>
/// 临床问题标识
/// </summary>
public enum ClinicalQuestionMark
{
/// <summary>
/// 检查日期
/// </summary>
CheckDate = 1
}
/// <summary>
/// 临床数据选项类型
/// </summary>
public enum ClinicalOptionType
{
/// <summary>
/// 无
/// </summary>
None = 1,
/// <summary>
/// 自定义
/// </summary>
Custom = 2,
/// <summary>
/// 字典
/// </summary>
Dictionary = 3
}
/// <summary>
/// 影像质量评估
/// </summary>

View File

@ -0,0 +1,93 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2023-06-16 13:37:24
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///系统临床数据问题
///</summary>
[Table("SystemClinicalQuestion")]
public class SystemClinicalQuestion : Entity, IAuditAdd
{
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid SystemClinicalId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public ClinicalQuestionType ClinicalQuestionTypeEnum { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public ClinicalQuestionMark? ClinicalQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 分组Id
/// </summary>
public Guid? GroupId { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; } = 0;
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; } = false;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
}
}

View File

@ -0,0 +1,93 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2023-06-16 13:37:24
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///项目临床数据问题
///</summary>
[Table("TrialClinicalQuestion")]
public class TrialClinicalQuestion : Entity, IAuditAdd
{
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public ClinicalQuestionType ClinicalQuestionTypeEnum { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public ClinicalQuestionMark? ClinicalQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 分组Id
/// </summary>
public Guid? GroupId { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; } = 0;
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; } = false;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
}
}

View File

@ -5,4 +5,42 @@ SET TrialId = VisitTask.TrialId
FROM VisitTaskReReading
INNER JOIN VisitTask ON VisitTaskReReading.OriginalReReadingTaskId = VisitTask.Id;
delete VisitTaskReReading where TrialId is NULL
delete VisitTaskReReading where TrialId is NULL
-- 查询
SELECT
TableName = d.name, --
ColumnNumber = a.colorder, --
ColumnName = a.name, --
IsNotCanNull = case when a.isnullable=1 then 0 else 1 end, --
Columntype = b.name, --
ColumnLength = COLUMNPROPERTY(a.id,a.name,'PRECISION') --
FROM
syscolumns a
left join
systypes b
on
a.xusertype=b.xusertype
inner join
sysobjects d
on
a.id=d.id and d.xtype in ('U') and d.name<>'dtproperties'
left join
syscomments e
on
a.cdefault=e.id
left join
sys.extended_properties g
on
a.id=G.major_id and a.colid=g.minor_id
left join
sys.extended_properties f
on
d.id=f.major_id and f.minor_id=0
where (b.name='nvarchar' or b.name='varchar') and COLUMNPROPERTY(a.id,a.name,'PRECISION') <100 and COLUMNPROPERTY(a.id,a.name,'PRECISION') !=-1
order by
a.id,a.colorder

View File

@ -403,6 +403,12 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<SubjectVisit> SubjectVisit { get; set; }
#endregion
#region ClinicalQuestion
public virtual DbSet<TrialClinicalQuestion> TrialClinicalQuestion { get; set; }
public virtual DbSet<SystemClinicalQuestion> SystemClinicalQuestion { get; set; }
#endregion

View File

@ -4,7 +4,7 @@
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
public static readonly string DbDatabase = "IRaCIS_New_Tet";
//表名称用字符串,拼接
public static readonly string TableName = "Internationalization";
public static readonly string TableName = "TrialClinicalQuestion";
//具体文件里面 例如service 可以配置是否分页
}
#>