新增分割

This commit is contained in:
he
2026-03-10 14:23:56 +08:00
parent 1a39d03c7e
commit 01058d42d3
11 changed files with 22610 additions and 1 deletions
@@ -15149,6 +15149,66 @@
<param name="readModuleId"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.SegmentationService">
<summary>
分割
</summary>
<param name="_segmentationRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Segmentation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Segment},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
分割
</summary>
<param name="_segmentationRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.GetSegmentationList(IRaCIS.Core.Application.ViewModel.SegmentationQuery)">
<summary>
获取分割组
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.AddOrUpdateSegmentation(IRaCIS.Core.Application.ViewModel.SegmentationAddOrEdit)">
<summary>
新增修改分割组
</summary>
<param name="addOrEditSegmentation"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.DeleteSegmentation(System.Guid)">
<summary>
删除分割组
</summary>
<param name="segmentationId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.GetSegmentList(IRaCIS.Core.Application.ViewModel.SegmentQuery)">
<summary>
获取分割
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.AddOrUpdateSegment(IRaCIS.Core.Application.ViewModel.SegmentAddOrEdit)">
<summary>
新增修改分割
</summary>
<param name="addOrEditSegment"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.SegmentationService.DeleteSegment(System.Guid)">
<summary>
删除分割
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.ShortcutKeyService">
<summary>
快捷键服务
@@ -0,0 +1,92 @@
//--------------------------------------------------------------------
// 此代码由liquid模板自动生成 byzhouhang 20240909
// 生成时间 2026-03-10 05:44:27Z
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel;
public class SegmentView : SegmentAddOrEdit
{
public DateTime CreateTime { get; set; }
public DateTime UpdateTime { get; set; }
}
public class SegmentAddOrEdit
{
public Guid? Id { get; set; }
public decimal? AvgValue { get; set; }
public string ColorRgb { get; set; }
public decimal? MTV { get; set; }
public decimal? MajorAxis { get; set; }
public decimal? MaxValue { get; set; }
public decimal? Median { get; set; }
public decimal? MinValue { get; set; }
public decimal? Peak { get; set; }
public int SegmentMumber { get; set; }
public string SegmentName { get; set; }
public Guid SegmentationId { get; set; }
public decimal? ShortAxis { get; set; }
public decimal? TLG { get; set; }
public decimal? Variance { get; set; }
public decimal? Volume { get; set; }
}
public class SegmentQuery:PageInput
{
public decimal? AvgValue { get; set; }
public string? ColorRgb { get; set; }
public decimal? MTV { get; set; }
public decimal? MajorAxis { get; set; }
public decimal? MaxValue { get; set; }
public decimal? Median { get; set; }
public decimal? MinValue { get; set; }
public decimal? Peak { get; set; }
public int? SegmentMumber { get; set; }
public string? SegmentName { get; set; }
public Guid? SegmentationId { get; set; }
public decimal? ShortAxis { get; set; }
public decimal? TLG { get; set; }
public decimal? Variance { get; set; }
public decimal? Volume { get; set; }
}
@@ -0,0 +1,68 @@
//--------------------------------------------------------------------
// 此代码由liquid模板自动生成 byzhouhang 20240909
// 生成时间 2026-03-10 06:17:31Z
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel;
public class SegmentationView : SegmentationAddOrEdit
{
public DateTime CreateTime { get; set; }
public DateTime UpdateTime { get; set; }
}
public class SegmentationAddOrEdit
{
public Guid? Id { get; set; }
public string SEGUrl { get; set; }
public string SegmentationJson { get; set; }
public string SegmentationName { get; set; }
public Guid SeriesId { get; set; }
public Guid StudyId { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectVisitId { get; set; }
public Guid TrialId { get; set; }
public Guid VisitTaksId { get; set; }
}
public class SegmentationQuery:PageInput
{
public string? SEGUrl { get; set; }
public string? SegmentationJson { get; set; }
public string? SegmentationName { get; set; }
public Guid? SeriesId { get; set; }
public Guid? StudyId { get; set; }
public Guid? SubjectId { get; set; }
public Guid? SubjectVisitId { get; set; }
public Guid? TrialId { get; set; }
public Guid? VisitTaksId { get; set; }
}
@@ -0,0 +1,30 @@
//--------------------------------------------------------------------
// 此代码由liquid模板自动生成 byzhouhang 20240909
// 生成时间 2026-03-10 06:17:31Z
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Infrastructure.Extention;
using System.Threading.Tasks;
using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Interfaces;
public interface ISegmentationService
{
Task<PageOutput<SegmentationView>> GetSegmentationList(SegmentationQuery inQuery);
Task<IResponseOutput> AddOrUpdateSegmentation(SegmentationAddOrEdit addOrEditSegmentation);
Task<IResponseOutput> DeleteSegmentation(Guid segmentationId);
Task<PageOutput<SegmentView>> GetSegmentList(SegmentQuery inQuery);
Task<IResponseOutput> AddOrUpdateSegment(SegmentAddOrEdit addOrEditSegment);
Task<IResponseOutput> DeleteSegment(Guid segmentId);
}
@@ -0,0 +1,129 @@
//--------------------------------------------------------------------
// 此代码由liquid模板自动生成 byzhouhang 20240909
// 生成时间 2026-03-10 06:17:28Z
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Models;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Infrastructure.Extention;
using System.Threading.Tasks;
using IRaCIS.Core.Infra.EFCore;
namespace IRaCIS.Core.Application.Service;
/// <summary>
/// 分割
/// </summary>
/// <param name="_segmentationRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ ApiExplorerSettings(GroupName = "Reading")]
public class SegmentationService(IRepository<Segmentation> _segmentationRepository,
IRepository<Segment> _segmentRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService, ISegmentationService
{
/// <summary>
/// 获取分割组
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<SegmentationView>> GetSegmentationList(SegmentationQuery inQuery)
{
var segmentationQueryable =_segmentationRepository
.ProjectTo<SegmentationView>(_mapper.ConfigurationProvider);
var pageList= await segmentationQueryable.ToPagedListAsync(inQuery);
return pageList;
}
/// <summary>
/// 新增修改分割组
/// </summary>
/// <param name="addOrEditSegmentation"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateSegmentation(SegmentationAddOrEdit addOrEditSegmentation)
{
var entity = await _segmentationRepository.InsertOrUpdateAsync(addOrEditSegmentation, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除分割组
/// </summary>
/// <param name="segmentationId"></param>
/// <returns></returns>
[HttpDelete("{segmentationId:guid}")]
public async Task<IResponseOutput> DeleteSegmentation(Guid segmentationId)
{
var success = await _segmentationRepository.DeleteFromQueryAsync(t => t.Id == segmentationId,true);
return ResponseOutput.Ok();
}
/// <summary>
/// 获取分割
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<SegmentView>> GetSegmentList(SegmentQuery inQuery)
{
var segmentQueryable = _segmentRepository
.ProjectTo<SegmentView>(_mapper.ConfigurationProvider);
var pageList = await segmentQueryable.ToPagedListAsync(inQuery);
return pageList;
}
/// <summary>
/// 新增修改分割
/// </summary>
/// <param name="addOrEditSegment"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateSegment(SegmentAddOrEdit addOrEditSegment)
{
var entity = await _segmentRepository.InsertOrUpdateAsync(addOrEditSegment, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除分割
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpDelete("{segmentId:guid}")]
public async Task<IResponseOutput> DeleteSegment(Guid segmentId)
{
var success = await _segmentRepository.DeleteFromQueryAsync(t => t.Id == segmentId, true);
return ResponseOutput.Ok();
}
}
@@ -15,6 +15,16 @@ namespace IRaCIS.Core.Application.Service
//是否英文环境
var isEn_Us = false;
// 在此处拷贝automapper 映射
CreateMap<Segment, SegmentView>();
CreateMap<Segment, SegmentAddOrEdit>().ReverseMap();
// 在此处拷贝automapper 映射
CreateMap<Segmentation, SegmentationView>();
CreateMap<Segmentation, SegmentationAddOrEdit>().ReverseMap();
CreateMap<ReadingQuestionTrial, ReadingReportDto>()
.ForMember(d => d.QuestionId, u => u.MapFrom(s => s.Id));