Browse Source

职业病、用户

master
wxd 1 year ago
parent
commit
9573c74e0e
  1. 2
      src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs
  2. 44
      src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/CreateOcCheckTypeDetailManyInputDto.cs
  3. 36
      src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeDetailDto.cs
  4. 21
      src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeIdAndPoisonIdInputDto.cs
  5. 25
      src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureInputDto.cs
  6. 5
      src/Shentun.Peis.Application/MyUser/MyUserAppService.cs
  7. 142
      src/Shentun.Peis.Application/OcCheckTypeDetails/OcCheckTypeDetailAppService.cs
  8. 29
      src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs
  9. 4
      src/Shentun.Peis.DbMigrator/appsettings.json
  10. 63
      src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetail.cs
  11. 66
      src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetailManager.cs
  12. 33
      src/Shentun.Peis.EntityFrameworkCore/DbMapping/OcCheckTypeDetails/OcCheckTypeDetailDbMapping.cs
  13. 6
      src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
  14. 15034
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs
  15. 35
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.cs
  16. 15040
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.Designer.cs
  17. 26
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.cs
  18. 41
      src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

2
src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs

@ -32,6 +32,6 @@ namespace Shentun.Peis.MyUser
/// <summary>
/// 科室ID
/// </summary>
public Guid OrganizationUnitId { get; set; }
public Guid? OrganizationUnitId { get; set; }
}
}

44
src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/CreateOcCheckTypeDetailManyInputDto.cs

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace Shentun.Peis.OcCheckTypeDetails
{
public class CreateOcCheckTypeDetailManyInputDto
{
/// <summary>
/// 检查类别ID
/// </summary>
public Guid OcCheckTypeId { get; set; }
/// <summary>
/// 毒害因素ID
/// </summary>
public Guid PoisonId { get; set; }
public List<CreateOcCheckTypeDetailManyInputDetailDto> Details { get; set; } = new List<CreateOcCheckTypeDetailManyInputDetailDto>();
}
public class CreateOcCheckTypeDetailManyInputDetailDto
{
/// <summary>
/// 组合项目ID
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 数量
/// </summary>
public short Amount { get; set; }
}
}

36
src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeDetailDto.cs

@ -0,0 +1,36 @@
using Shentun.Peis.Asbitems;
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.OcCheckTypeDetails
{
public class OcCheckTypeDetailDto: AsbitemDto
{
/// <summary>
/// 套餐中价格
/// </summary>
public decimal OcCheckTypeDetailPrice { get; set; }
/// <summary>
/// 数量
/// </summary>
public short OcCheckTypeDetailAmount { get; set; }
/// <summary>
/// 套餐中金额
/// </summary>
public decimal OcCheckTypeDetailMoney { get; set; }
/// <summary>
/// 项目金额
/// </summary>
public decimal AsbitemMoney { get; set; }
/// <summary>
/// 折扣
/// </summary>
public decimal Discount { get; set; }
}
}

21
src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeIdAndPoisonIdInputDto.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace Shentun.Peis.OcCheckTypeDetails
{
public class OcCheckTypeIdAndPoisonIdInputDto
{
/// <summary>
/// 检查类别ID
/// </summary>
public Guid OcCheckTypeId { get; set; }
/// <summary>
/// 毒害因素ID
/// </summary>
public List<Guid> PoisonIds { get; set; }
}
}

25
src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureInputDto.cs

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.RegisterCheckPictures
{
public class ImportRegisterCheckPictureInputDto
{
/// <summary>
/// 检查条码号
/// </summary>
public string CheckRequestNo { get; set; }
/// <summary>
/// 图片原始名称
/// </summary>
public string PictureName { get; set; }
/// <summary>
/// 图片base64字符串
/// </summary>
public string PictureBase64 { get; set; }
}
}

5
src/Shentun.Peis.Application/MyUser/MyUserAppService.cs

@ -308,7 +308,8 @@ namespace Shentun.Peis.MyUser
Surname = s.Surname,
TenantId = s.TenantId,
UserName = s.UserName,
OrganizationUnitId = identityUserOrganizationUnitList.FirstOrDefault(m => m.UserId == s.Id).OrganizationUnitId,
//OrganizationUnitId = identityUserOrganizationUnitList.FirstOrDefault(m => m.UserId == s.Id) != null? identityUserOrganizationUnitList.FirstOrDefault(m => m.UserId == s.Id).OrganizationUnitId:Guid.Empty,
OrganizationUnitId = identityUserOrganizationUnitList.FirstOrDefault(m => m.UserId == s.Id)?.OrganizationUnitId,
SimpleCode = LanguageConverter.GetPYSimpleCode(s.Surname)
}).ToList();
@ -683,5 +684,5 @@ namespace Shentun.Peis.MyUser
return await client.RequestTokenAsync(request);
}
}
}
}

142
src/Shentun.Peis.Application/OcCheckTypeDetails/OcCheckTypeDetailAppService.cs

@ -0,0 +1,142 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using NPOI.Util;
using Shentun.Peis.AsbitemDetails;
using Shentun.Peis.Items;
using Shentun.Peis.MedicalPackageDetails;
using Shentun.Peis.Models;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Identity;
using Volo.Abp.Users;
namespace Shentun.Peis.OcCheckTypeDetails
{
/// <summary>
/// 职业病检查类别对应的项目
/// </summary>
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class OcCheckTypeDetailAppService : ApplicationService
{
private readonly IRepository<OcCheckTypeDetail> _ocCheckTypeDetailRepository;
private readonly IRepository<Asbitem, Guid> _asbitemRepository;
private readonly OcCheckTypeDetailManager _manager;
private readonly CacheService _cacheService;
public OcCheckTypeDetailAppService(
IRepository<OcCheckTypeDetail> ocCheckTypeDetailRepository,
OcCheckTypeDetailManager manager,
CacheService cacheService,
IRepository<Asbitem, Guid> asbitemRepository)
{
_ocCheckTypeDetailRepository = ocCheckTypeDetailRepository;
_manager = manager;
_cacheService = cacheService;
_asbitemRepository = asbitemRepository;
}
/// <summary>
/// 批量创建 先删除
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/OcCheckTypeDetail/CreateOcCheckTypeDetailMany")]
public async Task CreateOcCheckTypeDetailManyAsync(CreateOcCheckTypeDetailManyInputDto input)
{
await _manager.CheckAndDeleteAsync(input.OcCheckTypeId, input.PoisonId);
if (input.Details.Any())
{
List<OcCheckTypeDetail> ocCheckTypeDetails = new List<OcCheckTypeDetail>();
foreach (var details in input.Details)
{
var entity = new OcCheckTypeDetail
{
AsbitemId = details.AsbitemId,
Price = details.Price,
Amount = details.Amount,
OcCheckTypeId = input.OcCheckTypeId,
PoisonId = input.PoisonId
};
ocCheckTypeDetails.Add(_manager.CreateAsync(entity));
}
if (ocCheckTypeDetails.Count > 0)
{
await _ocCheckTypeDetailRepository.InsertManyAsync(ocCheckTypeDetails);
}
}
}
/// <summary>
/// 获取职业病检查类别、毒害因素对应的组合项目列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/OcCheckTypeDetail/GetOcCheckTypeDetailByOcCheckTypeIdAndPoisonId")]
public async Task<List<OcCheckTypeDetailDto>> GetOcCheckTypeDetailByOcCheckTypeIdAndPoisonIdAsync(OcCheckTypeIdAndPoisonIdInputDto input)
{
if (!input.PoisonIds.Any())
throw new UserFriendlyException("毒害因素不能为空");
var query = from ocCheckTypeDetail in await _ocCheckTypeDetailRepository.GetQueryableAsync()
join asbitem in await _asbitemRepository.GetQueryableAsync() on ocCheckTypeDetail.AsbitemId equals asbitem.Id
where ocCheckTypeDetail.OcCheckTypeId == input.OcCheckTypeId && input.PoisonIds.Contains(ocCheckTypeDetail.PoisonId)
select new
{
ocCheckTypeDetail,
asbitem
};
var entdto = query.ToList().GroupBy(g=>g.asbitem).Select(s => new OcCheckTypeDetailDto
{
ClinicalMeaning = s.Key.ClinicalMeaning,
CreationTime = s.Key.CreationTime,
CreatorId = s.Key.CreatorId,
DefaultResult = s.Key.DefaultResult,
DeviceTypeId = s.Key.DeviceTypeId,
DiagnosisFunction = s.Key.DiagnosisFunction,
DisplayName = s.Key.DisplayName,
DisplayOrder = s.Key.DisplayOrder,
ForSexId = s.Key.ForSexId,
Id = s.Key.Id,
IsActive = s.Key.IsActive,
IsBeforeEat = s.Key.IsBeforeEat,
IsCheck = s.Key.IsCheck,
IsContinueProcess = s.Key.IsContinueProcess,
IsDiagnosisFunction = s.Key.IsDiagnosisFunction,
IsItemResultMerger = s.Key.IsItemResultMerger,
IsPictureRotate = s.Key.IsPictureRotate,
ItemTypeId = s.Key.ItemTypeId,
LastModificationTime = s.Key.LastModificationTime,
LastModifierId = s.Key.LastModifierId,
Price = s.Key.Price,
QueueTime = s.Key.QueueTime,
ShortName = s.Key.ShortName,
SimpleCode = s.Key.SimpleCode,
AsbitemMoney = s.FirstOrDefault().ocCheckTypeDetail.Amount * s.Key.Price,
Discount = s.Key.Price == 0 ? 100 : Math.Round(s.FirstOrDefault().ocCheckTypeDetail.Price * 100 / s.Key.Price, 2),
OcCheckTypeDetailAmount = s.FirstOrDefault().ocCheckTypeDetail.Amount,
OcCheckTypeDetailMoney = s.FirstOrDefault().ocCheckTypeDetail.Amount * s.FirstOrDefault().ocCheckTypeDetail.Price,
OcCheckTypeDetailPrice = s.FirstOrDefault().ocCheckTypeDetail.Price
}).ToList();
return entdto;
}
}
}

29
src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs

@ -340,6 +340,35 @@ namespace Shentun.Peis.RegisterCheckPictures
/// <summary>
/// 导入检查图片
/// </summary>
/// <returns></returns>
[HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPicture")]
public async Task ImportRegisterCheckPictureAsync(ImportRegisterCheckPictureInputDto input)
{
var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo);
if (registerCheckEnt == null)
throw new UserFriendlyException("检查条码号不正确");
if (string.IsNullOrWhiteSpace(input.PictureBase64))
throw new UserFriendlyException("图片不能为空");
var pic = new List<UploadRegisterCheckPictureManyPictureBaseStrsDto>();
pic.Add(new UploadRegisterCheckPictureManyPictureBaseStrsDto
{
FileName = input.PictureName,
PictureBaseStr = input.PictureBase64
});
await UploadRegisterCheckPictureManyAsync(new UploadRegisterCheckPictureManyDto
{
PictureBaseStrs = pic,
PictureFileType = '0',
RegisterCheckId = registerCheckEnt.Id
});
}
}
}

4
src/Shentun.Peis.DbMigrator/appsettings.json

@ -1,9 +1,9 @@
{
"ConnectionStrings": {
//"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;"
"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis240701;User ID=postgres;Password=shentun123;"
//"Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeisTemp;User ID=postgres;Password=shentun123;"
//"Default": "Host=localhost;Port=5432;Database=ShentunPeis1218;User ID=postgres;Password=wxd123;"
"Default": "Host=10.1.12.140;Port=5432;Database=ShentunPeis0508;User ID=postgres;Password=st123;"
//"Default": "Host=10.1.12.140;Port=5432;Database=ShentunPeis0508;User ID=postgres;Password=st123;"
},
"OpenIddict": {
"Applications": {

63
src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetail.cs

@ -0,0 +1,63 @@
using Microsoft.EntityFrameworkCore;
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.OcCheckTypeDetails
{
/// <summary>
/// 职业病检查类别 毒害因素 对应的项目
/// </summary>
[Table("oc_check_type_detail")]
public class OcCheckTypeDetail : Entity, IHasConcurrencyStamp
{
/// <summary>
/// 检查类别ID
/// </summary>
[Key]
[Column("oc_check_type_id")]
public Guid OcCheckTypeId { get; set; }
/// <summary>
/// 毒害因素ID
/// </summary>
[Key]
[Column("poison_id")]
public Guid PoisonId { get; set; }
/// <summary>
/// 组合项目编号
/// </summary>
[Key]
[Column("asbitem_id")]
public Guid AsbitemId { get; set; }
/// <summary>
/// 价格
/// </summary>
[Column("price")]
[Precision(10, 2)]
public decimal Price { get; set; }
/// <summary>
/// 数量
/// </summary>
[Column("amount")]
public short Amount { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
public override object[] GetKeys()
{
return new object[] { OcCheckTypeId, PoisonId, AsbitemId };
}
}
}

66
src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetailManager.cs

@ -0,0 +1,66 @@
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
namespace Shentun.Peis.OcCheckTypeDetails
{
public class OcCheckTypeDetailManager : DomainService
{
private readonly IRepository<OcCheckTypeDetail> _repository;
public OcCheckTypeDetailManager(
IRepository<OcCheckTypeDetail> repository
)
{
_repository = repository;
}
/// <summary>
/// 创建
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public OcCheckTypeDetail CreateAsync(OcCheckTypeDetail entity)
{
DataHelper.CheckGuidIsDefaultValue(entity.AsbitemId, "组合项目编号");
DataHelper.CheckGuidIsDefaultValue(entity.OcCheckTypeId, "检查类别Id");
DataHelper.CheckGuidIsDefaultValue(entity.PoisonId, "毒害因素Id");
if (entity.Price < 0)
{
throw new ArgumentException($"价格参数为:{entity.Price},是无效值,只能大于等于0");
}
if (entity.Amount <= 0)
{
throw new ArgumentException($"数量参数为:{entity.Amount},是无效值,只能大于0");
}
return entity;
}
/// <summary>
/// 删除职业病检查类别对应的项目明细
/// </summary>
/// <param name="OcCheckTypeId"></param>
/// <param name="PoisonId"></param>
/// <returns></returns>
public async Task CheckAndDeleteAsync(Guid OcCheckTypeId, Guid PoisonId)
{
var ocCheckTypeDetailList = await _repository.GetListAsync(m => m.OcCheckTypeId == OcCheckTypeId && m.PoisonId == PoisonId);
if (ocCheckTypeDetailList.Any())
{
await _repository.DeleteManyAsync(ocCheckTypeDetailList);
}
}
}
}

33
src/Shentun.Peis.EntityFrameworkCore/DbMapping/OcCheckTypeDetails/OcCheckTypeDetailDbMapping.cs

@ -0,0 +1,33 @@
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.OcCheckTypeDetails;
using Shentun.Peis.EntityFrameworkCore;
namespace Shentun.Peis.DbMapping
{
internal class OcCheckTypeDetailDbMapping : IEntityTypeConfiguration<OcCheckTypeDetail>
{
public void Configure(EntityTypeBuilder<OcCheckTypeDetail> entity)
{
entity.HasKey(e => new { e.OcCheckTypeId, e.PoisonId, e.AsbitemId })
.HasName("pk_oc_check_type_detail");
entity.HasComment("职业病检查类别、毒害因素对应的组合项目");
entity.Property(t => t.AsbitemId).HasComment("组合项目编号").IsRequired().IsFixedLength();
entity.Property(e => e.OcCheckTypeId).HasComment("检查类别").IsFixedLength().IsRequired();
//entity.Property(e => e.CreationTime).HasDefaultValueSql("(date(timezone('UTC-8'::text, now())) - 1)");
entity.ConfigureByConvention();
}
}
}

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

@ -12,6 +12,7 @@ using Shentun.Peis.DbMapping.ChargeRequests;
using Shentun.Peis.DbMapping.PatientRegisterExters;
using Shentun.Peis.DbMapping.ThirdInterfaces;
using Shentun.Peis.Models;
using Shentun.Peis.OcCheckTypeDetails;
using Shentun.Peis.ProtectiveMeasuress;
using Shentun.Peis.RoleMenuInfos;
using Shentun.Utilities;
@ -354,6 +355,8 @@ public class PeisDbContext :
public DbSet<PatientPastMedicalHistory> PatientPastMedicalHistorys { get; set; } = null!;
public DbSet<OcCheckTypeDetail> OcCheckTypeDetails { get; set; }=null!;
public PeisDbContext(DbContextOptions<PeisDbContext> options)
: base(options)
{
@ -593,7 +596,8 @@ public class PeisDbContext :
.ApplyConfiguration(new OccupationalContraindicationsDbMapping())
.ApplyConfiguration(new SuspectedOccupationalDiseaseDbMapping())
.ApplyConfiguration(new PatientOccupationalMedicalHistoryDbMapping())
.ApplyConfiguration(new PatientPastMedicalHistoryDbMapping());
.ApplyConfiguration(new PatientPastMedicalHistoryDbMapping())
.ApplyConfiguration(new OcCheckTypeDetailDbMapping());
#endregion

15034
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs
File diff suppressed because it is too large
View File

35
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.cs

@ -0,0 +1,35 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "oc_check_type_detail",
columns: table => new
{
oc_check_type_id = table.Column<Guid>(type: "uuid", fixedLength: true, nullable: false, comment: "检查类别"),
poison_id = table.Column<Guid>(type: "uuid", nullable: false),
asbitem_id = table.Column<Guid>(type: "uuid", fixedLength: true, nullable: false, comment: "组合项目编号"),
price = table.Column<decimal>(type: "numeric(10,2)", precision: 10, scale: 2, nullable: false),
amount = table.Column<short>(type: "smallint", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_oc_check_type_detail", x => new { x.oc_check_type_id, x.poison_id, x.asbitem_id });
},
comment: "职业病检查类别、毒害因素对应的组合项目");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "oc_check_type_detail");
}
}
}

15040
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.Designer.cs
File diff suppressed because it is too large
View File

26
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.cs

@ -0,0 +1,26 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class 2 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "concurrency_stamp",
table: "oc_check_type_detail",
type: "character varying(40)",
maxLength: 40,
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "concurrency_stamp",
table: "oc_check_type_detail");
}
}
}

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

@ -11526,6 +11526,47 @@ namespace Shentun.Peis.Migrations
b.HasComment("用户控件权限-废弃");
});
modelBuilder.Entity("Shentun.Peis.OcCheckTypeDetails.OcCheckTypeDetail", b =>
{
b.Property<Guid>("OcCheckTypeId")
.HasColumnType("uuid")
.HasColumnName("oc_check_type_id")
.IsFixedLength()
.HasComment("检查类别");
b.Property<Guid>("PoisonId")
.HasColumnType("uuid")
.HasColumnName("poison_id");
b.Property<Guid>("AsbitemId")
.HasColumnType("uuid")
.HasColumnName("asbitem_id")
.IsFixedLength()
.HasComment("组合项目编号");
b.Property<short>("Amount")
.HasColumnType("smallint")
.HasColumnName("amount");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("character varying(40)")
.HasColumnName("concurrency_stamp");
b.Property<decimal>("Price")
.HasPrecision(10, 2)
.HasColumnType("numeric(10,2)")
.HasColumnName("price");
b.HasKey("OcCheckTypeId", "PoisonId", "AsbitemId")
.HasName("pk_oc_check_type_detail");
b.ToTable("oc_check_type_detail");
b.HasComment("职业病检查类别、毒害因素对应的组合项目");
});
modelBuilder.Entity("Shentun.Peis.RoleMenuInfos.RoleMenuInfo", b =>
{
b.Property<Guid>("RoleId")

Loading…
Cancel
Save