From 2150f1c66c0c1c113aa30ef17b290872056d9dbe Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Fri, 12 Aug 2022 15:45:44 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/Reading/Dto/OrganInfoViewModel.cs | 112 +++++++----
.../Service/Reading/OrganInfoService.cs | 180 ++++++++++++++----
IRaCIS.Core.Domain/Reading/OrganInfo.cs | 11 +-
IRaCIS.Core.Domain/Reading/OrganTrialInfo.cs | 47 +++++
.../Context/IRaCISDBContext.cs | 2 +
IRaCIS.Core.Test/DbHelper.ttinclude | 2 +-
6 files changed, 279 insertions(+), 75 deletions(-)
create mode 100644 IRaCIS.Core.Domain/Reading/OrganTrialInfo.cs
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
index b27ba76e3..cc7391c6d 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
@@ -7,49 +7,89 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel
-{
- /// OrganInfoView 列表视图模型
- public class OrganInfoView
- {
- public Guid Id { get; set; }
- public string Part { get; set; }
- public string TULOC { get; set; }
- public string TULAT { get; set; }
- public string TypeName { get; set; }
- public DateTime CreateTime { get; set; }
- public Guid CreateUserId { get; set; }
- }
+{
- ///OrganInfoQuery 列表查询参数模型
- public class OrganInfoQuery
- {
- /// 部位
- public string Part { get; set; }
- /// TULOC
- public string TULOC { get; set; }
+ public class BatchAddTrialOrganInDto
+ {
+ public Guid TrialId { get; set; }
- /// 位置
- public string TULAT { get; set; }
+ public string TypeName { get; set; }
- /// 类型名称
- public string TypeName { get; set; }
+ public List OrganIds { get; set; }
+ }
- }
- /// OrganInfoAddOrEdit 列表查询参数模型
- public class OrganInfoAddOrEdit
- {
- public Guid? Id { get; set; }
- public string Part { get; set; }
- public string TULOC { get; set; }
- public string TULAT { get; set; }
- public string TypeName { get; set; }
- public DateTime CreateTime { get; set; }
- public Guid CreateUserId { get; set; }
- }
+ /// OrganInfoView 列表视图模型
+ public class OrganInfoView
+ {
+ public Guid Id { get; set; }
+ public string Part { get; set; }
+ public string TULOC { get; set; }
+ public string TULAT { get; set; }
+ public string TypeName { get; set; }
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ public Guid CreateUserId { get; set; }
+ }
+
+
+ public class GetTrialOrganListInDto
+ {
+ public Guid TrialId { get; set; }
+ public string TypeName { get; set; }
+ }
+
+ public class GetTrialCheckOrganList : GetTrialOrganListOutDto
+ {
+ public bool IsCheckd { get; set; }
+ }
+
+ public class GetTrialOrganListOutDto
+ {
+ public Guid Id { get; set; }
+ public string Part { get; set; }
+ public string TULOC { get; set; }
+ public string TULAT { get; set; }
+ public string TypeName { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ }
+
+ ///OrganInfoQuery 列表查询参数模型
+ public class OrganInfoQuery
+ {
+ /// 类型名称
+ public string TypeName { get; set; }
+
+ }
+
+ /// OrganInfoAddOrEdit 列表查询参数模型
+ public class OrganInfoAddOrEdit
+ {
+ public Guid? Id { get; set; }
+ public string Part { get; set; }
+ public string TULOC { get; set; }
+ public string TULAT { get; set; }
+ public string TypeName { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
+ public DateTime CreateTime { get; set; }
+ public Guid CreateUserId { get; set; }
+ }
+
-
}
diff --git a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
index 54efab0d3..77bb2e94c 100644
--- a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
@@ -9,50 +9,160 @@ using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Service
-{
- ///
- /// OrganInfoService
- ///
- [ ApiExplorerSettings(GroupName = "Test")]
- public class OrganInfoService: BaseService, IOrganInfoService
+{
+ ///
+ /// 器官服务层
+ ///
+ [ApiExplorerSettings(GroupName = "Reading")]
+ public class OrganInfoService : BaseService, IOrganInfoService
{
- private readonly IRepository _organInfoRepository;
+ private readonly IRepository _organInfoRepository;
+ private readonly IRepository _organTrialInfoRepository;
- public OrganInfoService(IRepository organInfoRepository)
- {
- _organInfoRepository = organInfoRepository;
- }
+ public OrganInfoService(
+ IRepository organInfoRepository,
+ IRepository organTrialInfoRepository
+ )
+ {
+ _organInfoRepository = organInfoRepository;
+ this._organTrialInfoRepository = organTrialInfoRepository;
+ }
-
- public async Task> GetOrganInfoList(OrganInfoQuery inQuery)
- {
-
- var organInfoQueryable = _organInfoRepository
- .ProjectTo(_mapper.ConfigurationProvider);
-
- return await organInfoQueryable.ToListAsync();
- }
-
+ ///
+ /// 获取系统器官信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetOrganInfoList(OrganInfoQuery inQuery)
+ {
+ var organInfoQueryable = _organInfoRepository
+ .Where(x=>x.TypeName== inQuery.TypeName)
+ .ProjectTo(_mapper.ConfigurationProvider);
+ return await organInfoQueryable.ToListAsync();
+ }
- public async Task AddOrUpdateOrganInfo(OrganInfoAddOrEdit addOrEditOrganInfo)
- {
-
- var entity = await _organInfoRepository.InsertOrUpdateAsync(addOrEditOrganInfo, true);
+ ///
+ /// 新增或修改系统器官数据
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task AddOrUpdateOrganInfo(OrganInfoAddOrEdit addOrEditOrganInfo)
+ {
+ var entity = await _organInfoRepository.InsertOrUpdateAsync(addOrEditOrganInfo, true);
return ResponseOutput.Ok(entity.Id.ToString());
-
- }
+ }
- [HttpDelete("{organInfoId:guid}")]
- public async Task DeleteOrganInfo(Guid organInfoId)
- {
- var success = await _organInfoRepository.DeleteFromQueryAsync(t => t.Id == organInfoId,true);
- return ResponseOutput.Ok();
- }
+ ///
+ /// 删除系统器官
+ ///
+ ///
+ ///
+ [HttpDelete("{Id:guid}")]
+ public async Task DeleteOrganInfo(Guid Id)
+ {
+ var success = await _organInfoRepository.DeleteFromQueryAsync(t => t.Id == Id, true);
+ return ResponseOutput.Ok();
+ }
+
+
+ ///
+ /// 批量添加项目器官
+ ///
+ ///
+ ///
+ public async Task BatchAddTrialOrgan(BatchAddTrialOrganInDto inDto)
+ {
+ await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(t => t.TrialId==inDto.TrialId&&t.TypeName==inDto.TypeName);
+
+ List organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo()
+ {
+ OrganInfoId=x,
+ TrialId=inDto.TrialId,
+ TypeName=inDto.TypeName,
+ }).ToList();
+
+
+ await _organTrialInfoRepository.AddRangeAsync(organTrialInfos);
+
+ await _organInfoRepository.SaveChangesAsync();
+
+ return ResponseOutput.Ok();
+ }
+
+ ///
+ /// 删除系统器官
+ ///
+ ///
+ ///
+ [HttpDelete("{Id:guid}")]
+ public async Task DeleteTrialOrganInfo(Guid Id)
+ {
+ var success = await _organTrialInfoRepository.DeleteFromQueryAsync(t => t.Id == Id, true);
+ return ResponseOutput.Ok();
+ }
+
+
+ ///
+ /// 获取项目器官信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetTrialOrganList(GetTrialOrganListInDto inDto)
+ {
+ var organInfoQueryable = from data in _organInfoRepository.Where(x => x.TypeName == inDto.TypeName)
+ join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.TypeName == inDto.TypeName)
+ on data.Id equals trialData.OrganInfoId
+ select new GetTrialOrganListOutDto()
+ {
+ Id = trialData.Id,
+ Part = data.Part,
+ TULAT = data.TULAT,
+ TULOC = data.TULOC,
+ TypeName = data.TypeName,
+ Remark= data.Remark,
+
+ };
+
+
+ return await organInfoQueryable.ToListAsync();
+ }
+
+
+
+ ///
+ /// 获取项目勾选器官信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetTrialCheckOrganList(GetTrialOrganListInDto inDto)
+ {
+ var organInfoQueryable = from data in _organInfoRepository.Where(x => x.TypeName == inDto.TypeName)
+ join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.TypeName == inDto.TypeName)
+ on data.Id equals trialData.OrganInfoId into jtemp
+ from leftjoin in jtemp.DefaultIfEmpty()
+ select new GetTrialCheckOrganList()
+ {
+ Id = data.Id,
+ Part = data.Part,
+ TULAT = data.TULAT,
+ TULOC = data.TULOC,
+ TypeName = data.TypeName,
+ IsCheckd= leftjoin!=null,
+ Remark = data.Remark,
+
+ };
+
+
+ return await organInfoQueryable.ToListAsync();
+ }
-
}
-}
+}
diff --git a/IRaCIS.Core.Domain/Reading/OrganInfo.cs b/IRaCIS.Core.Domain/Reading/OrganInfo.cs
index a57f5eb6b..0f1ce6861 100644
--- a/IRaCIS.Core.Domain/Reading/OrganInfo.cs
+++ b/IRaCIS.Core.Domain/Reading/OrganInfo.cs
@@ -31,10 +31,15 @@ namespace IRaCIS.Core.Domain.Models
/// 位置
///
public string TULAT { get; set; }
-
+
///
- /// 类型名称
- ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
+ ///
+ /// 类型名称
+ ///
public string TypeName { get; set; }
///
diff --git a/IRaCIS.Core.Domain/Reading/OrganTrialInfo.cs b/IRaCIS.Core.Domain/Reading/OrganTrialInfo.cs
new file mode 100644
index 000000000..a5294cd64
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/OrganTrialInfo.cs
@@ -0,0 +1,47 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2022-08-12 14:29:17
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///OrganTrialInfo
+ ///
+ [Table("OrganTrialInfo")]
+ public class OrganTrialInfo : Entity, IAuditAdd
+ {
+
+ ///
+ /// 器官Id
+ ///
+ public Guid OrganInfoId { get; set; }
+
+ ///
+ /// 项目Id
+ ///
+ public Guid TrialId { get; set; }
+
+ ///
+ /// 类型名称
+ ///
+ public string TypeName { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ public Guid CreateUserId { get; set; }
+
+ }
+
+
+}
diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
index 1253f955d..4d3d348f3 100644
--- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
+++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
@@ -203,6 +203,8 @@ namespace IRaCIS.Core.Infra.EFCore
#region Reading
public virtual DbSet OrganInfo { get; set; }
+
+ public virtual DbSet OrganTrialInfo { get; set; }
public virtual DbSet ReadingTableQuestionSystem { get; set; }
public virtual DbSet ReadingPeriodSet { get; set; }
diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude
index e3236736e..376d73d73 100644
--- a/IRaCIS.Core.Test/DbHelper.ttinclude
+++ b/IRaCIS.Core.Test/DbHelper.ttinclude
@@ -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 = "OrganInfo";
+ public static readonly string TableName = "OrganTrialInfo";
//ļ service Ƿҳ
}
#>