Browse Source

项目对应词条类别设置

master
wxd 1 year ago
parent
commit
15cbdf18f2
  1. 19
      src/Shentun.Peis.Application.Contracts/Items/CreateItemBigtextResultTypeInputDto.cs
  2. 14
      src/Shentun.Peis.Application.Contracts/Items/GetItemBigtextResultTypeByItemIdDto.cs
  3. 14
      src/Shentun.Peis.Application.Contracts/Items/ItemIdInputDto.cs
  4. 47
      src/Shentun.Peis.Application/Items/ItemAppService.cs
  5. 38
      src/Shentun.Peis.Domain/ItemBigtextResultTypes/ItemBigtextResultType.cs
  6. 34
      src/Shentun.Peis.EntityFrameworkCore/DbMapping/ItemBigtextResultTypes/ItemBigtextResultTypeDbMapping.cs
  7. 5
      src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
  8. 16218
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20241123071327_add_item_bigtext_result_type.Designer.cs
  9. 33
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20241123071327_add_item_bigtext_result_type.cs
  10. 28
      src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

19
src/Shentun.Peis.Application.Contracts/Items/CreateItemBigtextResultTypeInputDto.cs

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.Items
{
public class CreateItemBigtextResultTypeInputDto
{
/// <summary>
/// 项目ID
/// </summary>
public Guid ItemId { get; set; }
/// <summary>
/// 词条类别ID集合
/// </summary>
public List<Guid> ItemBigtextResultTypeIds { get; set; }
}
}

14
src/Shentun.Peis.Application.Contracts/Items/GetItemBigtextResultTypeByItemIdDto.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.Items
{
public class GetItemBigtextResultTypeByItemIdDto
{
/// <summary>
/// 词条类别ID
/// </summary>
public Guid ItemBigtextResultTypeId { get; set; }
}
}

14
src/Shentun.Peis.Application.Contracts/Items/ItemIdInputDto.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.Items
{
public class ItemIdInputDto
{
/// <summary>
///
/// </summary>
public Guid ItemId { get; set; }
}
}

47
src/Shentun.Peis.Application/Items/ItemAppService.cs

@ -38,16 +38,19 @@ namespace Shentun.Peis.Items
private readonly IRepository<IdentityUser, Guid> _userRepository; private readonly IRepository<IdentityUser, Guid> _userRepository;
private readonly ItemManager _manager; private readonly ItemManager _manager;
private readonly CacheService _cacheService; private readonly CacheService _cacheService;
private readonly IRepository<ItemBigtextResultType> _itemBigtextResultTypeRepository;
public ItemAppService( public ItemAppService(
IRepository<Item, Guid> repository, IRepository<Item, Guid> repository,
IRepository<IdentityUser, Guid> userRepository, IRepository<IdentityUser, Guid> userRepository,
ItemManager manager, ItemManager manager,
CacheService cacheService)
CacheService cacheService,
IRepository<ItemBigtextResultType> itemBigtextResultTypeRepository)
: base(repository) : base(repository)
{ {
_userRepository = userRepository; _userRepository = userRepository;
_manager = manager; _manager = manager;
_cacheService = cacheService; _cacheService = cacheService;
_itemBigtextResultTypeRepository = itemBigtextResultTypeRepository;
} }
/// <summary> /// <summary>
/// 获取通过主键 /// 获取通过主键
@ -259,5 +262,47 @@ namespace Shentun.Peis.Items
} }
/// <summary>
/// 获取项目对应的词条类别
/// </summary>
/// <returns></returns>
[HttpPost("api/app/item/GetItemBigtextResultTypeByItemId")]
public async Task<List<GetItemBigtextResultTypeByItemIdDto>> GetItemBigtextResultTypeByItemIdAsync(ItemIdInputDto input)
{
var entListDto = (await _itemBigtextResultTypeRepository.GetListAsync(m => m.ItemId == input.ItemId))
.Select(s => new GetItemBigtextResultTypeByItemIdDto
{
ItemBigtextResultTypeId = s.BigtextResultTypeId
}).ToList();
return entListDto;
}
/// <summary>
/// 设置项目对应的词条类别 每次传最新的过来就行
/// </summary>
/// <returns></returns>
[HttpPost("api/app/item/CreateItemBigtextResultType")]
public async Task CreateItemBigtextResultTypeAsync(CreateItemBigtextResultTypeInputDto input)
{
//先删除
await _itemBigtextResultTypeRepository.DeleteAsync(d => d.ItemId == input.ItemId);
List<ItemBigtextResultType> itemBigtextResultTypes = new List<ItemBigtextResultType>();
foreach (var itemBigtextResultTypeId in input.ItemBigtextResultTypeIds)
{
itemBigtextResultTypes.Add(new ItemBigtextResultType
{
ItemId = input.ItemId,
BigtextResultTypeId = itemBigtextResultTypeId
});
}
await _itemBigtextResultTypeRepository.InsertManyAsync(itemBigtextResultTypes);
}
} }
} }

38
src/Shentun.Peis.Domain/ItemBigtextResultTypes/ItemBigtextResultType.cs

@ -0,0 +1,38 @@
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
namespace Shentun.Peis.Models
{
/// <summary>
/// 项目对应词条类别表
/// </summary>
[Table("item_bigtext_result_type")]
public class ItemBigtextResultType : Entity, IHasConcurrencyStamp
{
[Key]
[Column("item_id")]
public Guid ItemId { get; set; }
/// <summary>
/// 项目编码
/// </summary>
[Key]
[Column("bigtext_result_type_id")]
public Guid BigtextResultTypeId { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
public override object[] GetKeys()
{
return new object[] { BigtextResultTypeId, ItemId };
}
}
}

34
src/Shentun.Peis.EntityFrameworkCore/DbMapping/ItemBigtextResultTypes/ItemBigtextResultTypeDbMapping.cs

@ -0,0 +1,34 @@
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore;
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Shentun.Peis.EntityFrameworkCore;
namespace Shentun.Peis.DbMapping
{
internal class ItemBigtextResultTypeDbMapping : IEntityTypeConfiguration<ItemBigtextResultType>
{
public void Configure(EntityTypeBuilder<ItemBigtextResultType> entity)
{
entity.HasKey(e => new { e.BigtextResultTypeId, e.ItemId })
.HasName("pk_item_bigtext_result_type");
entity.HasComment("项目对应词条类别表");
entity.Property(t => t.ItemId).HasComment("项目编码").IsRequired().IsFixedLength(); ;
entity.Property(e => e.BigtextResultTypeId).HasComment("词条类别id").IsFixedLength().IsRequired();
entity.ConfigureByConvention();
}
}
}

5
src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs

@ -383,6 +383,8 @@ public class PeisDbContext :
public DbSet<ThirdMedicalCenterDetail> ThirdMedicalCenterDetails { get; set; } = null!; public DbSet<ThirdMedicalCenterDetail> ThirdMedicalCenterDetails { get; set; } = null!;
public DbSet<ItemBigtextResultType> ItemBigtextResultTypes { get; set; } = null!;
public PeisDbContext(DbContextOptions<PeisDbContext> options) public PeisDbContext(DbContextOptions<PeisDbContext> options)
: base(options) : base(options)
{ {
@ -635,7 +637,8 @@ public class PeisDbContext :
.ApplyConfiguration(new ThirdMedicalCenterDbMapping()) .ApplyConfiguration(new ThirdMedicalCenterDbMapping())
.ApplyConfiguration(new DicomFileDetailDbMapping()) .ApplyConfiguration(new DicomFileDetailDbMapping())
.ApplyConfiguration(new DoctorSignInDbMapping()) .ApplyConfiguration(new DoctorSignInDbMapping())
.ApplyConfiguration(new ThirdMedicalCenterDetailDbMapping());
.ApplyConfiguration(new ThirdMedicalCenterDetailDbMapping())
.ApplyConfiguration(new ItemBigtextResultTypeDbMapping());
#endregion #endregion

16218
src/Shentun.Peis.EntityFrameworkCore/Migrations/20241123071327_add_item_bigtext_result_type.Designer.cs
File diff suppressed because it is too large
View File

33
src/Shentun.Peis.EntityFrameworkCore/Migrations/20241123071327_add_item_bigtext_result_type.cs

@ -0,0 +1,33 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class add_item_bigtext_result_type : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "item_bigtext_result_type",
columns: table => new
{
item_id = table.Column<Guid>(type: "uuid", fixedLength: true, nullable: false, comment: "项目编码"),
bigtext_result_type_id = table.Column<Guid>(type: "uuid", fixedLength: true, nullable: false, comment: "词条类别id"),
concurrency_stamp = table.Column<string>(type: "character varying(40)", maxLength: 40, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_item_bigtext_result_type", x => new { x.bigtext_result_type_id, x.item_id });
},
comment: "项目对应词条类别表");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "item_bigtext_result_type");
}
}
}

28
src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

@ -5341,6 +5341,34 @@ namespace Shentun.Peis.Migrations
b.HasComment("项目设置"); b.HasComment("项目设置");
}); });
modelBuilder.Entity("Shentun.Peis.Models.ItemBigtextResultType", b =>
{
b.Property<Guid>("BigtextResultTypeId")
.HasColumnType("uuid")
.HasColumnName("bigtext_result_type_id")
.IsFixedLength()
.HasComment("词条类别id");
b.Property<Guid>("ItemId")
.HasColumnType("uuid")
.HasColumnName("item_id")
.IsFixedLength()
.HasComment("项目编码");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("character varying(40)")
.HasColumnName("concurrency_stamp");
b.HasKey("BigtextResultTypeId", "ItemId")
.HasName("pk_item_bigtext_result_type");
b.ToTable("item_bigtext_result_type");
b.HasComment("项目对应词条类别表");
});
modelBuilder.Entity("Shentun.Peis.Models.ItemDefaultResult", b => modelBuilder.Entity("Shentun.Peis.Models.ItemDefaultResult", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")

Loading…
Cancel
Save