From a68ca48363834a449955ddb51e6a8d03c59123db Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Mon, 15 Jul 2024 18:09:03 +0800
Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Rooms/CreateRoomDto.cs | 10 +
.../Rooms/RoomDto.cs | 10 +
.../Rooms/UpdateRoomDto.cs | 11 +
.../Rooms/RoomAppService.cs | 103 +
.../Enums/RoomTypeFlag.cs | 23 +
src/Shentun.Peis.Domain/Asbitems/Asbitem.cs | 8 +-
.../RoomDetail/RoomDetail.cs | 54 +
src/Shentun.Peis.Domain/Rooms/Room.cs | 19 +-
src/Shentun.Peis.Domain/Rooms/RoomManager.cs | 164 +
.../RoomDetails/RoomDetailDbMapping.cs | 47 +
.../DbMapping/Rooms/RoomDbMapping.cs | 32 +-
.../EntityFrameworkCore/PeisDbContext.cs | 5 +-
...0715090732_room_asbitem_remove.Designer.cs | 15008 +++++++++++++++
.../20240715090732_room_asbitem_remove.cs | 82 +
...20240715094915_room_detail_add.Designer.cs | 15035 ++++++++++++++++
.../20240715094915_room_detail_add.cs | 82 +
.../Migrations/PeisDbContextModelSnapshot.cs | 111 +-
17 files changed, 30719 insertions(+), 85 deletions(-)
create mode 100644 src/Shentun.Peis.Application.Contracts/Rooms/CreateRoomDto.cs
create mode 100644 src/Shentun.Peis.Application.Contracts/Rooms/RoomDto.cs
create mode 100644 src/Shentun.Peis.Application.Contracts/Rooms/UpdateRoomDto.cs
create mode 100644 src/Shentun.Peis.Application/Rooms/RoomAppService.cs
create mode 100644 src/Shentun.Peis.Domain.Shared/Enums/RoomTypeFlag.cs
create mode 100644 src/Shentun.Peis.Domain/RoomDetail/RoomDetail.cs
create mode 100644 src/Shentun.Peis.Domain/Rooms/RoomManager.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/DbMapping/RoomDetails/RoomDetailDbMapping.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715090732_room_asbitem_remove.Designer.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715090732_room_asbitem_remove.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715094915_room_detail_add.Designer.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715094915_room_detail_add.cs
diff --git a/src/Shentun.Peis.Application.Contracts/Rooms/CreateRoomDto.cs b/src/Shentun.Peis.Application.Contracts/Rooms/CreateRoomDto.cs
new file mode 100644
index 0000000..630f370
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/Rooms/CreateRoomDto.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Peis.Rooms
+{
+ public class CreateRoomDto
+ {
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/Rooms/RoomDto.cs b/src/Shentun.Peis.Application.Contracts/Rooms/RoomDto.cs
new file mode 100644
index 0000000..ae18bbf
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/Rooms/RoomDto.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Peis.Rooms
+{
+ public class RoomDto
+ {
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/Rooms/UpdateRoomDto.cs b/src/Shentun.Peis.Application.Contracts/Rooms/UpdateRoomDto.cs
new file mode 100644
index 0000000..ca69e78
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/Rooms/UpdateRoomDto.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Peis.Rooms
+{
+ public class UpdateRoomDto
+ {
+ public Guid RoomId { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application/Rooms/RoomAppService.cs b/src/Shentun.Peis.Application/Rooms/RoomAppService.cs
new file mode 100644
index 0000000..c8891af
--- /dev/null
+++ b/src/Shentun.Peis.Application/Rooms/RoomAppService.cs
@@ -0,0 +1,103 @@
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Shentun.Peis.Asbitems;
+using Shentun.Peis.HelperDto;
+using Shentun.Peis.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Shentun.Peis.Rooms
+{
+ ///
+ /// 分诊叫号房间设置
+ ///
+ [Authorize]
+ [ApiExplorerSettings(GroupName = "Work")]
+ public class RoomAppService : ApplicationService
+ {
+ private readonly IRepository _roomRepository;
+ private readonly IRepository _asbitemRepository;
+ private readonly RoomManager _roomManager;
+ public RoomAppService(
+ IRepository roomRepository,
+ IRepository asbitemRepository,
+ RoomManager roomManager)
+ {
+ _roomRepository = roomRepository;
+ _asbitemRepository = asbitemRepository;
+ _roomManager = roomManager;
+ }
+
+
+ ///
+ /// 创建
+ ///
+ ///
+ ///
+ [HttpPost("api/app/Room/Create")]
+ public async Task CreateAsync(CreateRoomDto input)
+ {
+ var createEntity = ObjectMapper.Map(input);
+ var entity = await _roomManager.CreateAsync(createEntity);
+ entity = await _roomRepository.InsertAsync(entity);
+ var dto = ObjectMapper.Map(entity);
+ return dto;
+ }
+
+ ///
+ /// 更新
+ ///
+ ///
+ ///
+ [HttpPost("api/app/Room/Update")]
+ public async Task UpdateAsync(UpdateRoomDto input)
+ {
+ var entity = await _roomRepository.GetAsync(input.RoomId);
+ var sourceEntity = ObjectMapper.Map(input);
+ await _roomManager.UpdateAsync(sourceEntity, entity);
+ entity = await _roomRepository.UpdateAsync(entity);
+ return ObjectMapper.Map(entity);
+ }
+
+ ///
+ /// 删除
+ ///
+ ///
+ ///
+ [HttpPost("api/app/Room/Delete")]
+ public async Task DeleteAsync(Guid id)
+ {
+ await _roomManager.CheckAndDeleteAsync(id);
+ }
+
+ ///
+ /// 修改排序 置顶,置底
+ ///
+ /// 需要修改的ID
+ /// 修改方式:1 置顶 2 置底
+ ///
+ [HttpPost("api/app/Room/UpdateManySort")]
+ public async Task UpdateManySortAsync(Guid id, int SortType)
+ {
+ await _roomManager.UpdateManySortAsync(id, SortType);
+ }
+
+ ///
+ /// 修改排序 拖拽
+ ///
+ ///
+ ///
+ [HttpPost("api/app/Room/UpdateSortMany")]
+ public async Task UpdateSortManyAsync(UpdateSortManyDto input)
+ {
+ await _roomManager.UpdateSortManyAsync(input);
+ }
+
+ }
+}
diff --git a/src/Shentun.Peis.Domain.Shared/Enums/RoomTypeFlag.cs b/src/Shentun.Peis.Domain.Shared/Enums/RoomTypeFlag.cs
new file mode 100644
index 0000000..3d7d6ab
--- /dev/null
+++ b/src/Shentun.Peis.Domain.Shared/Enums/RoomTypeFlag.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Text;
+
+namespace Shentun.Peis.Enums
+{
+ public static class RoomTypeFlag
+ {
+ ///
+ /// 普通
+ ///
+ [Description("普通")]
+ public const char Ordinary = '0';
+
+ ///
+ /// 抽血室
+ ///
+ [Description("抽血室")]
+ public const char BloodlettingRoom = '1';
+
+ }
+}
diff --git a/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs b/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
index e9d6770..be3181c 100644
--- a/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
+++ b/src/Shentun.Peis.Domain/Asbitems/Asbitem.cs
@@ -25,7 +25,7 @@ namespace Shentun.Peis.Models
CustomerOrgGroupDetails = new HashSet();
MedicalPackageDetails = new HashSet();
RegisterCheckAsbitems = new HashSet();
- Rooms = new HashSet();
+ RoomDetails = new HashSet();
}
///
/// 名称
@@ -235,9 +235,9 @@ namespace Shentun.Peis.Models
[InverseProperty(nameof(RegisterCheckAsbitem.Asbitem))]
public virtual ICollection RegisterCheckAsbitems { get; set; }
- [ForeignKey("AsbitemId")]
- [InverseProperty(nameof(Room.Asbitems))]
- public virtual ICollection Rooms { get; set; }
+
+ [InverseProperty(nameof(RoomDetail.Asbitem))]
+ public virtual ICollection RoomDetails { get; set; }
diff --git a/src/Shentun.Peis.Domain/RoomDetail/RoomDetail.cs b/src/Shentun.Peis.Domain/RoomDetail/RoomDetail.cs
new file mode 100644
index 0000000..c0268cf
--- /dev/null
+++ b/src/Shentun.Peis.Domain/RoomDetail/RoomDetail.cs
@@ -0,0 +1,54 @@
+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
+{
+ ///
+ /// 房间对应的项目
+ ///
+ [Table("room_detail")]
+ public class RoomDetail : Entity, IHasConcurrencyStamp
+ {
+
+
+
+ ///
+ /// 组合项目ID
+ ///
+ [Key]
+ [Column("asbitem_id")]
+ public Guid AsbitemId { get; set; }
+ ///
+ /// 房间ID
+ ///
+ [Key]
+ [Column("room_id")]
+ public Guid RoomId { get; set; }
+
+ [Column("concurrency_stamp")]
+ public string ConcurrencyStamp { get; set; }
+
+
+
+ [ForeignKey(nameof(AsbitemId))]
+ [InverseProperty("RoomDetails")]
+ public virtual Asbitem Asbitem { get; set; } = null!;
+
+
+ [ForeignKey(nameof(RoomId))]
+ [InverseProperty("RoomDetails")]
+ public virtual Room Room { get; set; } = null!;
+
+ public override object[] GetKeys()
+ {
+ return new object[] { AsbitemId, RoomId };
+ }
+ }
+}
diff --git a/src/Shentun.Peis.Domain/Rooms/Room.cs b/src/Shentun.Peis.Domain/Rooms/Room.cs
index 1df8dcb..4533a2b 100644
--- a/src/Shentun.Peis.Domain/Rooms/Room.cs
+++ b/src/Shentun.Peis.Domain/Rooms/Room.cs
@@ -13,13 +13,13 @@ namespace Shentun.Peis.Models
///
[Table("room")]
[Index(nameof(DisplayName), Name = "ix_room", IsUnique = true)]
- public class Room : AuditedEntity, IHasConcurrencyStamp
+ public class Room : AuditedEntity, IHasConcurrencyStamp, IDisplayName, IDisplayOrder
{
public Room()
{
- Asbitems = new HashSet();
+ RoomDetails = new HashSet();
}
-
+
[Column("display_name")]
[StringLength(20)]
public string DisplayName { get; set; } = null!;
@@ -27,13 +27,13 @@ namespace Shentun.Peis.Models
/// 项目类别编号
///
[Column("item_type_id")]
- public Guid ItemTypeId { get; set; }
+ public Guid ItemTypeId { get; set; }
///
/// 体检中心ID
///
[Column("medical_center_id")]
- public Guid MedicalCenterId { get; set; }
+ public Guid MedicalCenterId { get; set; }
[Column("for_sex_id")]
[MaxLength(1)]
@@ -47,7 +47,7 @@ namespace Shentun.Peis.Models
public char RoomTypeFlag { get; set; }
- ///
+ ///
/// 候诊时间
///
[Column("queue_time")]
@@ -70,10 +70,9 @@ namespace Shentun.Peis.Models
[InverseProperty("Rooms")]
public virtual ItemType ItemType { get; set; } = null!;
- [ForeignKey("RoomId")]
- [InverseProperty(nameof(Asbitem.Rooms))]
- public virtual ICollection Asbitems { get; set; }
+ [InverseProperty(nameof(RoomDetail.Room))]
+ public virtual ICollection RoomDetails { get; set; }
+
-
}
}
diff --git a/src/Shentun.Peis.Domain/Rooms/RoomManager.cs b/src/Shentun.Peis.Domain/Rooms/RoomManager.cs
new file mode 100644
index 0000000..656c97a
--- /dev/null
+++ b/src/Shentun.Peis.Domain/Rooms/RoomManager.cs
@@ -0,0 +1,164 @@
+using Shentun.Peis.AsbitemDetails;
+using Shentun.Peis.CustomerOrgGroupDetails;
+using Shentun.Peis.Enums;
+using Shentun.Peis.HelperDto;
+using Shentun.Peis.MedicalPackageDetails;
+using Shentun.Peis.Models;
+using Shentun.Peis.SampleGroupDetails;
+using Shentun.Utilities;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Domain.Services;
+
+namespace Shentun.Peis.Rooms
+{
+ ///
+ /// 房间
+ ///
+ public class RoomManager : DomainService
+ {
+ private readonly IRepository _roomRepository;
+ //private readonly IRepository
+ public RoomManager(
+ IRepository roomRepository
+ )
+ {
+ _roomRepository = roomRepository;
+ }
+
+ public async Task CreateAsync(Room entity)
+ {
+ Verify(entity);
+ await EntityHelper.CheckSameName(_roomRepository, entity.DisplayName);
+ return new Room
+ {
+ DisplayName = entity.DisplayName,
+ SimpleCode = LanguageConverter.GetPYSimpleCode(entity.DisplayName),
+ DisplayOrder = await EntityHelper.CreateMaxDisplayOrder(_roomRepository),
+ ForSexId = entity.ForSexId,
+ IsActive = entity.IsActive,
+ ItemTypeId = entity.ItemTypeId,
+ QueueTime = entity.QueueTime,
+ MedicalCenterId = entity.MedicalCenterId,
+ RoomTypeFlag = entity.RoomTypeFlag
+ };
+ }
+
+
+ ///
+ /// 更新
+ ///
+ ///
+ ///
+ ///
+ public async Task UpdateAsync(
+ Room sourceEntity,
+ Room targetEntity
+ )
+ {
+ DataHelper.CheckEntityIsNull(targetEntity);
+ Verify(sourceEntity);
+ if (sourceEntity.DisplayName != targetEntity.DisplayName)
+ {
+ await EntityHelper.CheckSameName(_roomRepository, sourceEntity.DisplayName, targetEntity);
+ targetEntity.DisplayName = sourceEntity.DisplayName;
+ targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName);
+ }
+
+
+ targetEntity.ForSexId = sourceEntity.ForSexId;
+ targetEntity.IsActive = sourceEntity.IsActive;
+ targetEntity.ItemTypeId = sourceEntity.ItemTypeId;
+ targetEntity.QueueTime = sourceEntity.QueueTime;
+ targetEntity.MedicalCenterId=sourceEntity.MedicalCenterId;
+ targetEntity.RoomTypeFlag = sourceEntity.RoomTypeFlag;
+
+ }
+
+
+
+ ///
+ /// 1.已登记使用过(register_asbitem)的不允许删除。
+ /// 2.已收费过(charge_asbitem)的不允许删除。
+ /// 3.删除时,同步删除组合项目包含的项目(asbitem_detail)、套餐包含的组合项目(medical_package_detail)、标本分组明细(sample_group_detail)、单位分组明细(customer_org_group_detail)。
+ ///
+ ///
+ ///
+ ///
+ public async Task CheckAndDeleteAsync(Guid id)
+ {
+ var roomEnt = await _roomRepository.FirstOrDefaultAsync(m => m.Id == id);
+ if (roomEnt != null)
+ {
+
+ ////删除组合项目明细
+ //await _asbitemDetailManager.CheckAndDeleteAsync(id);
+
+
+ //删除组合项目
+ await _roomRepository.DeleteAsync(id);
+ }
+ else
+ {
+ throw new UserFriendlyException("数据不存在");
+ }
+
+ }
+
+
+ ///
+ /// 修改排序 置顶,置底
+ ///
+ /// 需要修改的ID
+ /// 修改方式:1 置顶 2 置底
+ ///
+ public async Task UpdateManySortAsync(Guid id, int SortType)
+ {
+ await EntityHelper.UpdateManySortAsync(_roomRepository, id, SortType);
+ }
+
+
+
+ ///
+ /// 修改排序 拖拽
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task UpdateSortManyAsync(UpdateSortManyDto input)
+ {
+ await EntityHelper.UpdateSortManyAsync(_roomRepository, input);
+
+ }
+
+
+ ///
+ /// 验证新增、修改字段
+ ///
+ ///
+ ///
+ private void Verify(Room entity)
+ {
+ DataHelper.CheckEntityIsNull(entity);
+ DataHelper.CheckStringIsNull(entity.DisplayName, "名称");
+ DataHelper.CheckForSex(entity.ForSexId);
+ DataHelper.CheckGuidIsDefaultValue(entity.ItemTypeId, "项目类别");
+ DataHelper.CheckGuidIsDefaultValue(entity.MedicalCenterId, "体检中心");
+ DataHelper.CheckDecimalIsGeaterThanZero(entity.QueueTime,"候诊时间");
+ DataHelper.CheckCharIsYOrN(entity.IsActive, "是否启用");
+ if (entity.RoomTypeFlag != RoomTypeFlag.Ordinary
+ && entity.RoomTypeFlag != RoomTypeFlag.BloodlettingRoom)
+ {
+ throw new ArgumentException($"RoomTypeFlag参数为:{entity.RoomTypeFlag},是无效值,只能为{RoomTypeFlag.Ordinary},{RoomTypeFlag.BloodlettingRoom}");
+ }
+ }
+
+ }
+}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/RoomDetails/RoomDetailDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/RoomDetails/RoomDetailDbMapping.cs
new file mode 100644
index 0000000..fb50e41
--- /dev/null
+++ b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/RoomDetails/RoomDetailDbMapping.cs
@@ -0,0 +1,47 @@
+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 RoomDetailDbMapping : IEntityTypeConfiguration
+ {
+ public void Configure(EntityTypeBuilder entity)
+ {
+
+ entity.HasKey(e => new { e.AsbitemId, e.RoomId })
+ .HasName("pk_room_detail");
+
+ entity.HasComment("组合项目包含项目");
+
+ entity.Property(t => t.RoomId).HasComment("房间编码").IsRequired().IsFixedLength(); ;
+
+ entity.Property(e => e.AsbitemId).IsFixedLength().IsRequired();
+
+
+
+ entity.HasOne(d => d.Asbitem)
+ .WithMany(p => p.RoomDetails)
+ .HasForeignKey(d => d.AsbitemId)
+ .HasConstraintName("fk_room_detail_asbitem");
+
+ entity.HasOne(d => d.Room)
+ .WithMany(p => p.RoomDetails)
+ .HasForeignKey(d => d.RoomId)
+ .HasConstraintName("fk_room_detail_room");
+
+ entity.ConfigureByConvention();
+
+
+ }
+ }
+}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Rooms/RoomDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Rooms/RoomDbMapping.cs
index 037f1da..f7247c2 100644
--- a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Rooms/RoomDbMapping.cs
+++ b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/Rooms/RoomDbMapping.cs
@@ -37,22 +37,22 @@ namespace Shentun.Peis.DbMapping
.HasForeignKey(d => d.ItemTypeId)
.HasConstraintName("fk_room_item_type");
- entity.HasMany(d => d.Asbitems)
- .WithMany(p => p.Rooms)
- .UsingEntity>(
- "RoomAsbitem",
- l => l.HasOne().WithMany().HasForeignKey("AsbitemId").HasConstraintName("fk_room_asbitem_asbitem"),
- r => r.HasOne().WithMany().HasForeignKey("RoomId").HasConstraintName("fk_room_asbitem_room"),
- j =>
- {
- j.HasKey("RoomId", "AsbitemId").HasName("pk_room_asbitem");
-
- j.ToTable("room_asbitem").HasComment("房间包含组合项目设置");
-
- j.IndexerProperty("RoomId").HasMaxLength(5).HasColumnName("room_id").IsFixedLength();
-
- j.IndexerProperty("AsbitemId").HasMaxLength(6).HasColumnName("asbitem_id").IsFixedLength();
- });
+ //entity.HasMany(d => d.Asbitems)
+ // .WithMany(p => p.Rooms)
+ // .UsingEntity>(
+ // "RoomAsbitem",
+ // l => l.HasOne().WithMany().HasForeignKey("AsbitemId").HasConstraintName("fk_room_asbitem_asbitem"),
+ // r => r.HasOne().WithMany().HasForeignKey("RoomId").HasConstraintName("fk_room_asbitem_room"),
+ // j =>
+ // {
+ // j.HasKey("RoomId", "AsbitemId").HasName("pk_room_asbitem");
+
+ // j.ToTable("room_asbitem").HasComment("房间包含组合项目设置");
+
+ // j.IndexerProperty("RoomId").HasMaxLength(5).HasColumnName("room_id").IsFixedLength();
+
+ // j.IndexerProperty("AsbitemId").HasMaxLength(6).HasColumnName("asbitem_id").IsFixedLength();
+ // });
entity.ConfigureByConvention();
}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
index 69e7635..bcff05b 100644
--- a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
+++ b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
@@ -357,6 +357,8 @@ public class PeisDbContext :
public DbSet OcCheckTypeDetails { get; set; }=null!;
+ public DbSet RoomDetails { get; set; } = null!;
+
public PeisDbContext(DbContextOptions options)
: base(options)
{
@@ -597,7 +599,8 @@ public class PeisDbContext :
.ApplyConfiguration(new SuspectedOccupationalDiseaseDbMapping())
.ApplyConfiguration(new PatientOccupationalMedicalHistoryDbMapping())
.ApplyConfiguration(new PatientPastMedicalHistoryDbMapping())
- .ApplyConfiguration(new OcCheckTypeDetailDbMapping());
+ .ApplyConfiguration(new OcCheckTypeDetailDbMapping())
+ .ApplyConfiguration(new RoomDetailDbMapping());
#endregion
diff --git a/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715090732_room_asbitem_remove.Designer.cs b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715090732_room_asbitem_remove.Designer.cs
new file mode 100644
index 0000000..bb4db52
--- /dev/null
+++ b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240715090732_room_asbitem_remove.Designer.cs
@@ -0,0 +1,15008 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using Shentun.Peis.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Shentun.Peis.Migrations
+{
+ [DbContext(typeof(PeisDbContext))]
+ [Migration("20240715090732_room_asbitem_remove")]
+ partial class room_asbitem_remove
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
+ .HasAnnotation("ProductVersion", "6.0.5")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("AsbitemRoom", b =>
+ {
+ b.Property("AsbitemId")
+ .HasColumnType("uuid");
+
+ b.Property("RoomId")
+ .HasColumnType("uuid");
+
+ b.HasKey("AsbitemId", "RoomId");
+
+ b.HasIndex("RoomId");
+
+ b.ToTable("AsbitemRoom");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.HelloA", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("ADesc")
+ .HasColumnType("text")
+ .HasColumnName("a_desc");
+
+ b.Property("AName")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text")
+ .HasDefaultValue("默认值")
+ .HasColumnName("a_name");
+
+ b.Property("AddTime")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("add_time")
+ .HasDefaultValueSql("now()");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("HelloTypeId")
+ .HasColumnType("text")
+ .HasColumnName("hello_type_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("S2")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("character(1)")
+ .HasDefaultValueSql("'A'::bpchar");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "AName" }, "ix_helloa")
+ .IsUnique();
+
+ b.ToTable("hello_a");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.HelloType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("TypeName")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("type_name")
+ .HasComment("类型名称");
+
+ b.Property("s1")
+ .HasColumnType("uuid")
+ .HasColumnName("s1");
+
+ b.Property("s2")
+ .HasColumnType("uuid")
+ .HasColumnName("s2");
+
+ b.Property("s3")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("s3");
+
+ b.HasKey("Id");
+
+ b.ToTable("hello_type");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.Ma", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.ToTable("ma");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.Mb", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MaId")
+ .HasColumnType("text")
+ .HasColumnName("ma_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MaId");
+
+ b.ToTable("mb");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.Mc", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MbId")
+ .HasColumnType("text")
+ .HasColumnName("mb_id");
+
+ b.Property("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MbId");
+
+ b.ToTable("mc");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.Student", b =>
+ {
+ b.Property("Sid")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("sid");
+
+ b.Property("Cid")
+ .HasColumnType("text");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uuid")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uuid")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("DeletionTime");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uuid")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("Uid")
+ .HasColumnType("uuid");
+
+ b.HasKey("Sid");
+
+ b.ToTable("student");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.TestA", b =>
+ {
+ b.Property("AId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("AName")
+ .HasColumnType("text");
+
+ b.HasKey("AId");
+
+ b.ToTable("testa");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.TestB", b =>
+ {
+ b.Property("BId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("AId")
+ .HasColumnType("uuid")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("AName")
+ .HasColumnType("text");
+
+ b.Property("TestAsAId")
+ .HasColumnType("uuid");
+
+ b.HasKey("BId");
+
+ b.HasIndex("TestAsAId");
+
+ b.ToTable("testb");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Books.TestCT", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("TName")
+ .HasColumnType("text")
+ .HasColumnName("t_name");
+
+ b.HasKey("Id");
+
+ b.ToTable("test_ct");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.AbpUserDepartment", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.Property("OrganizationUnitId")
+ .HasColumnType("uuid")
+ .HasColumnName("organization_unit_id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("UserId", "OrganizationUnitId")
+ .HasName("pk_user_organizationunitid");
+
+ b.ToTable("abp_user_department");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.Asbitem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("BarcodeMode")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("barcode_mode")
+ .HasDefaultValueSql("'0'")
+ .HasComment("条码模式");
+
+ b.Property("ClinicalMeaning")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("clinical_meaning")
+ .HasComment("临床意义");
+
+ b.Property("CollectItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("collect_item_type_id")
+ .IsFixedLength()
+ .HasComment("汇总项目类别");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DefaultResult")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("default_result")
+ .HasComment("默认结果");
+
+ b.Property("DeviceTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("device_type_id")
+ .HasComment("仪器类别");
+
+ b.Property("DiagnosisFunction")
+ .HasMaxLength(4000)
+ .HasColumnType("character varying(4000)")
+ .HasColumnName("diagnosis_function")
+ .HasComment("诊断函数");
+
+ b.Property("DiseaseScreeningTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("disease_screening_type_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("ForPregnantFlag")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_pregnant_flag")
+ .HasDefaultValueSql("'A'")
+ .HasComment("备怀孕期间禁止检查");
+
+ b.Property("ForSexId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_sex_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用性别,M-男,F-女,A-全部");
+
+ b.Property("IsActive")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_active")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是启用");
+
+ b.Property("IsBeforeEat")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_before_eat")
+ .HasDefaultValueSql("'N'")
+ .HasComment("餐前项目");
+
+ b.Property("IsCheck")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_check")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是检查项目");
+
+ b.Property("IsContinueProcess")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_continue_process")
+ .HasDefaultValueSql("'N'")
+ .HasComment("诊断函数处理完毕后继续处理");
+
+ b.Property("IsDiagnosisFunction")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_diagnosis_function")
+ .HasDefaultValueSql("'N'")
+ .HasComment("启用诊断函数");
+
+ b.Property("IsItemResultMerger")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_item_result_merger")
+ .HasDefaultValueSql("'N'")
+ .HasComment("项目结果合并");
+
+ b.Property("IsPictureRotate")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_picture_rotate")
+ .HasDefaultValueSql("'N'")
+ .HasComment("体检报告图片旋转90°");
+
+ b.Property("IsWebAppoint")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_web_appoint")
+ .HasDefaultValueSql("'Y'")
+ .HasComment("是否支持网上预约");
+
+ b.Property("ItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_type_id")
+ .IsFixedLength()
+ .HasComment("项目类别");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MaritalStatusId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("marital_status_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用婚姻状况,0-未婚,1-已婚,A-全部");
+
+ b.Property("Price")
+ .ValueGeneratedOnAdd()
+ .HasPrecision(8, 2)
+ .HasColumnType("numeric(8,2)")
+ .HasColumnName("price")
+ .HasDefaultValueSql("0")
+ .HasComment("价格");
+
+ b.Property("QueueTime")
+ .ValueGeneratedOnAdd()
+ .HasPrecision(3, 1)
+ .HasColumnType("numeric(3,1)")
+ .HasColumnName("queue_time")
+ .HasDefaultValueSql("0")
+ .HasComment("候诊时间");
+
+ b.Property("ShortName")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("short_name")
+ .HasComment("简称");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("simple_code");
+
+ b.Property("Warn")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("warn");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CollectItemTypeId");
+
+ b.HasIndex("ItemTypeId");
+
+ b.HasIndex(new[] { "DisplayName" }, "ix_asbitem")
+ .IsUnique();
+
+ b.ToTable("asbitem");
+
+ b.HasComment("组合项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.AsbitemDetail", b =>
+ {
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength();
+
+ b.Property("ItemId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_id")
+ .IsFixedLength()
+ .HasComment("项目编码");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.HasKey("AsbitemId", "ItemId")
+ .HasName("pk_department_asbitem_detail");
+
+ b.HasIndex("ItemId");
+
+ b.ToTable("asbitem_detail");
+
+ b.HasComment("组合项目包含项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.AsbitemGuide", b =>
+ {
+ b.Property("MedicalCenterId")
+ .HasColumnType("uuid")
+ .HasColumnName("medical_center_id")
+ .IsFixedLength()
+ .HasComment("单位科室ID");
+
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength()
+ .HasComment("组合项目ID");
+
+ b.Property("ForSexId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("for_sex_id")
+ .HasDefaultValueSql("'A'")
+ .HasComment("适用性别ID");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Guide")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("guide")
+ .HasComment("指引单内容");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("MedicalCenterId", "AsbitemId", "ForSexId")
+ .HasName("pk_department_asbitem_guide");
+
+ b.ToTable("asbitem_guide");
+
+ b.HasComment("体检中心组和项目指引内容");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.AsbitemPriceItem", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("Amount")
+ .IsRequired()
+ .ValueGeneratedOnAdd()
+ .HasColumnType("smallint")
+ .HasColumnName("amount")
+ .HasDefaultValueSql("0")
+ .HasComment("数量");
+
+ b.Property("AsbitemId")
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength()
+ .HasComment("组合项目编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("PriceItemId")
+ .HasColumnType("uuid")
+ .HasColumnName("price_item_id")
+ .IsFixedLength()
+ .HasComment("价表项目编码");
+
+ b.HasKey("Id");
+
+ b.ToTable("asbitem_price_item");
+
+ b.HasComment("组和项目包含价表项目");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.BigtextResultConclusion", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTemplateId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_template_id")
+ .IsFixedLength();
+
+ b.Property("Conclusion")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)")
+ .HasColumnName("conclusion")
+ .HasComment("结论");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTemplateId");
+
+ b.ToTable("bigtext_result_conclusion");
+
+ b.HasComment("大文本结果结论");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.BigtextResultDescription", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTemplateId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_template_id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Description")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)")
+ .HasColumnName("description")
+ .HasComment("描述");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTemplateId");
+
+ b.ToTable("bigtext_result_description");
+
+ b.HasComment("大文本结果描述");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.BigtextResultTemplate", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("BigtextResultTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("bigtext_result_type_id")
+ .IsFixedLength()
+ .HasComment("结果类别编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BigtextResultTypeId");
+
+ b.ToTable("bigtext_result_template");
+
+ b.HasComment("大文本结果模板");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.BigtextResultType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("display_name")
+ .HasComment("名称");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("integer")
+ .HasColumnName("display_order");
+
+ b.Property("ItemTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("item_type_id")
+ .IsFixedLength()
+ .HasComment("项目类别");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("ParentId")
+ .HasColumnType("uuid")
+ .HasColumnName("parent_id")
+ .IsFixedLength()
+ .HasComment("父编号");
+
+ b.Property("PathCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("path_code")
+ .HasComment("路径编码");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ItemTypeId");
+
+ b.ToTable("bigtext_result_type");
+
+ b.HasComment("大文本结果类别");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.BirthPlace", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength();
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CountryCode")
+ .IsRequired()
+ .HasMaxLength(6)
+ .HasColumnType("character varying(6)")
+ .HasColumnName("country_code")
+ .HasComment("国家标准码");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("DisplayName")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("display_name");
+
+ b.Property("DisplayOrder")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("display_order")
+ .HasDefaultValueSql("999999");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("SimpleCode")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("simple_code");
+
+ b.HasKey("Id");
+
+ b.HasIndex(new[] { "DisplayName" }, "ix_birth_place")
+ .IsUnique();
+
+ b.ToTable("birth_place");
+
+ b.HasComment("出生地");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.CardBill", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("编号");
+
+ b.Property("BillFlag")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("bill_flag")
+ .HasDefaultValueSql("'0'::bpchar")
+ .HasComment("记账标志");
+
+ b.Property("BillMoney")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("bill_money")
+ .HasComment("记账金额");
+
+ b.Property("CardRegisterId")
+ .HasColumnType("uuid")
+ .HasColumnName("card_register_id")
+ .HasComment("卡登记编号");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("PayModeId")
+ .IsRequired()
+ .HasMaxLength(4)
+ .HasColumnType("character varying(4)")
+ .HasColumnName("pay_mode_id")
+ .HasComment("支付方式");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CardRegisterId");
+
+ b.HasIndex("PayModeId");
+
+ b.ToTable("card_bill");
+
+ b.HasComment("卡记账记录");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.CardRegister", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .HasComment("编号");
+
+ b.Property("CardBalance")
+ .HasPrecision(10, 2)
+ .HasColumnType("numeric(10,2)")
+ .HasColumnName("card_balance");
+
+ b.Property("CardNo")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)")
+ .HasColumnName("card_no")
+ .HasComment("卡号");
+
+ b.Property("CardPassword")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("card_password");
+
+ b.Property("CardTypeId")
+ .HasColumnType("uuid")
+ .HasColumnName("card_type_id")
+ .IsFixedLength()
+ .HasComment("卡类型");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("CustomerName")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("customer_name")
+ .HasComment("领用者");
+
+ b.Property("Discount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("discount")
+ .HasDefaultValueSql("100")
+ .HasComment("折扣");
+
+ b.Property("ExpiryDate")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("expiry_date")
+ .HasComment("有效期");
+
+ b.Property("IdNo")
+ .IsRequired()
+ .HasMaxLength(18)
+ .HasColumnType("character varying(18)")
+ .HasColumnName("id_no")
+ .HasComment("身份证号");
+
+ b.Property("IsActive")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_active")
+ .HasDefaultValueSql("0")
+ .HasComment("使用标志");
+
+ b.Property("LastModificationTime")
+ .IsRequired()
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("last_modification_time");
+
+ b.Property("LastModifierId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("last_modifier_id");
+
+ b.Property("MedicalCenterId")
+ .HasColumnType("uuid")
+ .HasColumnName("medical_center_id");
+
+ b.Property("MobileTelephone")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("mobile_telephone")
+ .HasComment("手机");
+
+ b.Property("Remark")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)")
+ .HasColumnName("remark")
+ .HasComment("备注");
+
+ b.Property("Telephone")
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)")
+ .HasColumnName("telephone")
+ .HasComment("电话");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CardTypeId");
+
+ b.HasIndex(new[] { "CardNo", "IsActive" }, "ix_card_register")
+ .IsUnique();
+
+ b.ToTable("card_register");
+
+ b.HasComment("会员卡登记");
+ });
+
+ modelBuilder.Entity("Shentun.Peis.Models.CardType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid")
+ .HasColumnName("id")
+ .IsFixedLength()
+ .HasComment("编号");
+
+ b.Property("CardModeId")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("card_mode_id")
+ .HasDefaultValueSql("0")
+ .HasComment("卡模式");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("concurrency_stamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("timestamp without time zone")
+ .HasColumnName("creation_time");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("uuid")
+ .HasColumnName("creator_id");
+
+ b.Property("Discount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("discount")
+ .HasDefaultValueSql("100")
+ .HasComment("折扣");
+
+ b.Property