From 9573c74e0e4e1d5877ab4ca847e9a31ab1b61dfd Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Fri, 5 Jul 2024 15:43:44 +0800
Subject: [PATCH] =?UTF-8?q?=E8=81=8C=E4=B8=9A=E7=97=85=E3=80=81=E7=94=A8?=
=?UTF-8?q?=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../MyUser/IdentityUserWithExtensionDto.cs | 2 +-
.../CreateOcCheckTypeDetailManyInputDto.cs | 44 +
.../OcCheckTypeDetailDto.cs | 36 +
.../OcCheckTypeIdAndPoisonIdInputDto.cs | 21 +
.../ImportRegisterCheckPictureInputDto.cs | 25 +
.../MyUser/MyUserAppService.cs | 585 +-
.../OcCheckTypeDetailAppService.cs | 142 +
.../RegisterCheckPictureAppService.cs | 29 +
src/Shentun.Peis.DbMigrator/appsettings.json | 4 +-
.../OcCheckTypeDetails/OcCheckTypeDetail.cs | 63 +
.../OcCheckTypeDetailManager.cs | 66 +
.../OcCheckTypeDetailDbMapping.cs | 33 +
.../EntityFrameworkCore/PeisDbContext.cs | 6 +-
...95856_检查类别对应项目.Designer.cs | 15034 +++++++++++++++
...20240702095856_检查类别对应项目.cs | 35 +
...0812_检查类别对应项目2.Designer.cs | 15040 ++++++++++++++++
...0240702100812_检查类别对应项目2.cs | 26 +
.../Migrations/PeisDbContextModelSnapshot.cs | 41 +
18 files changed, 30936 insertions(+), 296 deletions(-)
create mode 100644 src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/CreateOcCheckTypeDetailManyInputDto.cs
create mode 100644 src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeDetailDto.cs
create mode 100644 src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeIdAndPoisonIdInputDto.cs
create mode 100644 src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureInputDto.cs
create mode 100644 src/Shentun.Peis.Application/OcCheckTypeDetails/OcCheckTypeDetailAppService.cs
create mode 100644 src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetail.cs
create mode 100644 src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetailManager.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/DbMapping/OcCheckTypeDetails/OcCheckTypeDetailDbMapping.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.Designer.cs
create mode 100644 src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702100812_检查类别对应项目2.cs
diff --git a/src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs b/src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs
index 1ab54e8..31c5bce 100644
--- a/src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/MyUser/IdentityUserWithExtensionDto.cs
@@ -32,6 +32,6 @@ namespace Shentun.Peis.MyUser
///
/// 科室ID
///
- public Guid OrganizationUnitId { get; set; }
+ public Guid? OrganizationUnitId { get; set; }
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/CreateOcCheckTypeDetailManyInputDto.cs b/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/CreateOcCheckTypeDetailManyInputDto.cs
new file mode 100644
index 0000000..645e67f
--- /dev/null
+++ b/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
+ {
+ ///
+ /// 检查类别ID
+ ///
+ public Guid OcCheckTypeId { get; set; }
+ ///
+ /// 毒害因素ID
+ ///
+ public Guid PoisonId { get; set; }
+
+ public List Details { get; set; } = new List();
+ }
+
+
+
+ public class CreateOcCheckTypeDetailManyInputDetailDto
+ {
+ ///
+ /// 组合项目ID
+ ///
+ public Guid AsbitemId { get; set; }
+
+
+ ///
+ /// 价格
+ ///
+ public decimal Price { get; set; }
+
+
+ ///
+ /// 数量
+ ///
+ public short Amount { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeDetailDto.cs b/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeDetailDto.cs
new file mode 100644
index 0000000..9619b54
--- /dev/null
+++ b/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
+ {
+ ///
+ /// 套餐中价格
+ ///
+ public decimal OcCheckTypeDetailPrice { get; set; }
+
+
+ ///
+ /// 数量
+ ///
+ public short OcCheckTypeDetailAmount { get; set; }
+
+ ///
+ /// 套餐中金额
+ ///
+ public decimal OcCheckTypeDetailMoney { get; set; }
+
+ ///
+ /// 项目金额
+ ///
+ public decimal AsbitemMoney { get; set; }
+
+ ///
+ /// 折扣
+ ///
+ public decimal Discount { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeIdAndPoisonIdInputDto.cs b/src/Shentun.Peis.Application.Contracts/OcCheckTypeDetails/OcCheckTypeIdAndPoisonIdInputDto.cs
new file mode 100644
index 0000000..fe2cd6b
--- /dev/null
+++ b/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
+ {
+ ///
+ /// 检查类别ID
+ ///
+ public Guid OcCheckTypeId { get; set; }
+
+ ///
+ /// 毒害因素ID
+ ///
+ public List PoisonIds { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureInputDto.cs b/src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureInputDto.cs
new file mode 100644
index 0000000..647e837
--- /dev/null
+++ b/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
+ {
+ ///
+ /// 检查条码号
+ ///
+ public string CheckRequestNo { get; set; }
+
+
+ ///
+ /// 图片原始名称
+ ///
+ public string PictureName { get; set; }
+
+ ///
+ /// 图片base64字符串
+ ///
+ public string PictureBase64 { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application/MyUser/MyUserAppService.cs b/src/Shentun.Peis.Application/MyUser/MyUserAppService.cs
index bfef4b5..31e9fac 100644
--- a/src/Shentun.Peis.Application/MyUser/MyUserAppService.cs
+++ b/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();
@@ -317,358 +318,358 @@ namespace Shentun.Peis.MyUser
}
- ///
- /// 获取列表 根据用户类别
- ///
- ///
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [HttpPost("api/identity/users/GetListByOperatorType")]
- public async Task> GetListByOperatorTypeAsync(OperatorTypeIuputDto input)
+ ///
+ /// 获取列表 根据用户类别
+ ///
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [HttpPost("api/identity/users/GetListByOperatorType")]
+ public async Task> GetListByOperatorTypeAsync(OperatorTypeIuputDto input)
+ {
+ var entlist = await _identityUserRepository.GetListAsync(m => m.IsDeleted == false);
+ var entlistDto = entlist.Where(m => input.OperatorTypes.Contains(m.GetProperty("operator_type"))).Select(s => new ListByOperatorTypeDto
{
- var entlist = await _identityUserRepository.GetListAsync(m => m.IsDeleted == false);
- var entlistDto = entlist.Where(m => input.OperatorTypes.Contains(m.GetProperty("operator_type"))).Select(s => new ListByOperatorTypeDto
- {
- Id = s.Id,
- SimpleCode = LanguageConverter.GetPYSimpleCode(s.Surname),
- Surname = s.Surname,
- UserName = s.UserName
- }).ToList();
+ Id = s.Id,
+ SimpleCode = LanguageConverter.GetPYSimpleCode(s.Surname),
+ Surname = s.Surname,
+ UserName = s.UserName
+ }).ToList();
- return entlistDto;
- }
+ return entlistDto;
+ }
- ///
- /// 修改用户信息
- ///
- ///
- ///
- ///
- //[Authorize(PeisPermissions.Users.Edit)]
- //[HttpPost("api/identity/users/update")]
- [RemoteService(false)]
- public override async Task UpdateAsync(Guid id, IdentityUserUpdateDto input)
- {
- var entityDto = await base.UpdateAsync(id, input);
+ ///
+ /// 修改用户信息
+ ///
+ ///
+ ///
+ ///
+ //[Authorize(PeisPermissions.Users.Edit)]
+ //[HttpPost("api/identity/users/update")]
+ [RemoteService(false)]
+ public override async Task UpdateAsync(Guid id, IdentityUserUpdateDto input)
+ {
+ var entityDto = await base.UpdateAsync(id, input);
- var entity = await _identityUserRepository.GetAsync(id);
- await _userCache.SetAsync(id, entity);
- return entityDto;
+ var entity = await _identityUserRepository.GetAsync(id);
+ await _userCache.SetAsync(id, entity);
+ return entityDto;
- }
+ }
- ///
- /// 修改
- ///
- ///
- ///
- ///
- [Authorize(PeisPermissions.Users.Edit)]
- [HttpPost("api/identity/users/update")]
- public async Task UpdateIdentityUserAsync(Guid id, IdentityUserUpdateInputDto input)
+ ///
+ /// 修改
+ ///
+ ///
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Edit)]
+ [HttpPost("api/identity/users/update")]
+ public async Task UpdateIdentityUserAsync(Guid id, IdentityUserUpdateInputDto input)
+ {
+
+ #region 上传图片
+ string userPhoto = UploadUserPhotoAsync(new UploadUserPhotoInputDto
+ {
+ PictureBaseStr = input.UserPhoto,
+ UserId = id
+ });
+ string userSign = UploadUserSignAsync(new UploadUserPhotoInputDto
{
+ PictureBaseStr = input.UserSign,
+ UserId = id
+ });
+ #endregion
- #region 上传图片
- string userPhoto = UploadUserPhotoAsync(new UploadUserPhotoInputDto
- {
- PictureBaseStr = input.UserPhoto,
- UserId = id
- });
- string userSign = UploadUserSignAsync(new UploadUserPhotoInputDto
- {
- PictureBaseStr = input.UserSign,
- UserId = id
- });
- #endregion
+ input.Email = input.UserName + "@qq.com";
- input.Email = input.UserName + "@qq.com";
+ await IdentityOptions.SetAsync();
- await IdentityOptions.SetAsync();
+ var user = await UserManager.GetByIdAsync(id);
- var user = await UserManager.GetByIdAsync(id);
+ user.SetProperty("user_sign", userSign);
+ user.SetProperty("user_photo", userPhoto);
+ user.SetProperty("operator_type", input.OperatorType);
+ user.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
- user.SetProperty("user_sign", userSign);
- user.SetProperty("user_photo", userPhoto);
- user.SetProperty("operator_type", input.OperatorType);
- user.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
+ (await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
- (await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
+ await UpdateUserByInput(user, input);
+ input.MapExtraPropertiesTo(user);
- await UpdateUserByInput(user, input);
- input.MapExtraPropertiesTo(user);
+ (await UserManager.UpdateAsync(user)).CheckErrors();
- (await UserManager.UpdateAsync(user)).CheckErrors();
+ if (!input.Password.IsNullOrEmpty())
+ {
+ (await UserManager.RemovePasswordAsync(user)).CheckErrors();
+ (await UserManager.AddPasswordAsync(user, input.Password)).CheckErrors();
+ }
- if (!input.Password.IsNullOrEmpty())
- {
- (await UserManager.RemovePasswordAsync(user)).CheckErrors();
- (await UserManager.AddPasswordAsync(user, input.Password)).CheckErrors();
- }
+ await CurrentUnitOfWork.SaveChangesAsync();
- await CurrentUnitOfWork.SaveChangesAsync();
+ var entityDto = ObjectMapper.Map(user);
- var entityDto = ObjectMapper.Map(user);
+ var entity = await _identityUserRepository.GetAsync(id);
+ await _userCache.SetAsync(id, entity);
+ return entityDto;
+ }
- var entity = await _identityUserRepository.GetAsync(id);
- await _userCache.SetAsync(id, entity);
- return entityDto;
- }
+ ///
+ /// 获取用户信息 根据ID
+ ///
+ ///
+ ///
+ //[Authorize(PeisPermissions.Users.Default)]
+ //[HttpGet("api/identity/users/getinfo")]
+ [RemoteService(false)]
+ public override Task GetAsync(Guid id)
+ {
+ return base.GetAsync(id);
+ }
- ///
- /// 获取用户信息 根据ID
- ///
- ///
- ///
- //[Authorize(PeisPermissions.Users.Default)]
- //[HttpGet("api/identity/users/getinfo")]
- [RemoteService(false)]
- public override Task GetAsync(Guid id)
+
+ ///
+ ///上传用户照片 图片base64
+ ///
+ ///
+ ///
+ ///
+ private string UploadUserPhotoAsync(UploadUserPhotoInputDto input)
+ {
+ string fileName = "";
+ if (input.UserId != null)
{
- return base.GetAsync(id);
+ fileName = input.UserId.ToString();
}
-
-
- ///
- ///上传用户照片 图片base64
- ///
- ///
- ///
- ///
- private string UploadUserPhotoAsync(UploadUserPhotoInputDto input)
+ else
{
- string fileName = "";
- if (input.UserId != null)
- {
- fileName = input.UserId.ToString();
- }
- else
- {
- fileName = Guid.NewGuid().ToString();
- }
-
- string imgurl = $"UserPhoto/{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}/{fileName}";
- var isupload = ImageHelper.Base64StrToImage(input.PictureBaseStr, imgurl);
- if (!string.IsNullOrEmpty(isupload))
- return isupload;
- else
- return "";
+ fileName = Guid.NewGuid().ToString();
}
+ string imgurl = $"UserPhoto/{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}/{fileName}";
+ var isupload = ImageHelper.Base64StrToImage(input.PictureBaseStr, imgurl);
+ if (!string.IsNullOrEmpty(isupload))
+ return isupload;
+ else
+ return "";
+ }
- ///
- /// 上传用户签名 图片base64
- ///
- ///
- ///
- ///
- private string UploadUserSignAsync(UploadUserPhotoInputDto input)
- {
- string fileName = "";
- if (input.UserId != null)
- {
- fileName = input.UserId.ToString();
- }
- else
- {
- fileName = Guid.NewGuid().ToString();
- }
-
- string imgurl = $"UserSign/{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}/{fileName}";
- var isupload = ImageHelper.Base64StrToImage(input.PictureBaseStr, imgurl);
- if (!string.IsNullOrEmpty(isupload))
- return isupload;
- else
- return "";
- }
-
- ///
- /// 获取用户信息 根据ID
- ///
- ///
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [HttpGet("api/identity/users/getinfo")]
- public async Task GetWithExtensionAsync(Guid id)
+ ///
+ /// 上传用户签名 图片base64
+ ///
+ ///
+ ///
+ ///
+ private string UploadUserSignAsync(UploadUserPhotoInputDto input)
+ {
+ string fileName = "";
+ if (input.UserId != null)
{
- var ent = await UserManager.GetByIdAsync(id);
- var userSign = !string.IsNullOrWhiteSpace(ent.GetProperty("user_sign")) ? ImageHelper.GetImageBase64StringAsync(ent.GetProperty("user_sign")) : "";
- var userPhoto = !string.IsNullOrWhiteSpace(ent.GetProperty("user_photo")) ? ImageHelper.GetImageBase64StringAsync(ent.GetProperty("user_photo")) : "";
- var operatorType = ent.GetProperty("operator_type");
- var entDto = ObjectMapper.Map(ent);
- entDto.UserPhoto = userPhoto;
- entDto.UserSign = userSign;
- entDto.OperatorType = operatorType;
- return entDto;
+ fileName = input.UserId.ToString();
}
-
- ///
- /// 给用户绑定角色
- ///
- /// 用户ID
- /// 角色集合
- ///
- [Authorize(PeisPermissions.Users.Edit)]
- [HttpPost("api/identity/users/updateroles")]
- public override Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input)
+ else
{
- return base.UpdateRolesAsync(id, input);
+ fileName = Guid.NewGuid().ToString();
}
+ string imgurl = $"UserSign/{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}/{fileName}";
+ var isupload = ImageHelper.Base64StrToImage(input.PictureBaseStr, imgurl);
+ if (!string.IsNullOrEmpty(isupload))
+ return isupload;
+ else
+ return "";
+ }
- ///
- /// 获取用户的角色信息 根据用户ID
- ///
- /// 用户ID
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [HttpGet("api/identity/users/getroles")]
- public override Task> GetRolesAsync(Guid id)
- {
- return base.GetRolesAsync(id);
- }
+ ///
+ /// 获取用户信息 根据ID
+ ///
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [HttpGet("api/identity/users/getinfo")]
+ public async Task GetWithExtensionAsync(Guid id)
+ {
+ var ent = await UserManager.GetByIdAsync(id);
+ var userSign = !string.IsNullOrWhiteSpace(ent.GetProperty("user_sign")) ? ImageHelper.GetImageBase64StringAsync(ent.GetProperty("user_sign")) : "";
+ var userPhoto = !string.IsNullOrWhiteSpace(ent.GetProperty("user_photo")) ? ImageHelper.GetImageBase64StringAsync(ent.GetProperty("user_photo")) : "";
+ var operatorType = ent.GetProperty("operator_type");
+ var entDto = ObjectMapper.Map(ent);
+ entDto.UserPhoto = userPhoto;
+ entDto.UserSign = userSign;
+ entDto.OperatorType = operatorType;
+ return entDto;
+ }
- ///
- /// 获取当前登录用户的角色信息
- ///
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [HttpGet("api/identity/users/getassignableroles")]
- public override Task> GetAssignableRolesAsync()
- {
- return base.GetAssignableRolesAsync();
- }
+ ///
+ /// 给用户绑定角色
+ ///
+ /// 用户ID
+ /// 角色集合
+ ///
+ [Authorize(PeisPermissions.Users.Edit)]
+ [HttpPost("api/identity/users/updateroles")]
+ public override Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input)
+ {
+ return base.UpdateRolesAsync(id, input);
+ }
- ///
- /// 暂未用到
- ///
- ///
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [RemoteService(false)]
- public override Task FindByUsernameAsync(string userName)
- {
- return base.FindByUsernameAsync(userName);
- }
+ ///
+ /// 获取用户的角色信息 根据用户ID
+ ///
+ /// 用户ID
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [HttpGet("api/identity/users/getroles")]
+ public override Task> GetRolesAsync(Guid id)
+ {
+ return base.GetRolesAsync(id);
+ }
- ///
- /// 暂未用到
- ///
- ///
- ///
- [Authorize(PeisPermissions.Users.Default)]
- [RemoteService(false)]
- public override Task FindByEmailAsync(string email)
- {
- return base.FindByEmailAsync(email);
- }
- ///
- /// 用户登录
- ///
- ///
- ///
- [HttpPost("api/identity/users/login")]
- public async Task UserLogin(UserLoginRequestDto input)
- {
+ ///
+ /// 获取当前登录用户的角色信息
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [HttpGet("api/identity/users/getassignableroles")]
+ public override Task> GetAssignableRolesAsync()
+ {
+ return base.GetAssignableRolesAsync();
+ }
- UserLoginDto msg;
+ ///
+ /// 暂未用到
+ ///
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [RemoteService(false)]
+ public override Task FindByUsernameAsync(string userName)
+ {
+ return base.FindByUsernameAsync(userName);
+ }
- var user = await _userManager.FindByNameAsync(input.UserName);
- if (user != null)
- {
+ ///
+ /// 暂未用到
+ ///
+ ///
+ ///
+ [Authorize(PeisPermissions.Users.Default)]
+ [RemoteService(false)]
+ public override Task FindByEmailAsync(string email)
+ {
+ return base.FindByEmailAsync(email);
+ }
- var verifyResult = await _userManager.CheckPasswordAsync(user, input.PassWord);
- if (verifyResult)
- {
+ ///
+ /// 用户登录
+ ///
+ ///
+ ///
+ [HttpPost("api/identity/users/login")]
+ public async Task UserLogin(UserLoginRequestDto input)
+ {
- var PeisId = await _peisOrganizationUnitManager.GetPeisIdAsync(user.Id);
+ UserLoginDto msg;
- if (user.IsActive == false)
- {
- throw new UserFriendlyException("账号已被禁用");
- }
- if (user.LockoutEnabled == true)
- {
- throw new UserFriendlyException("账号已被锁定");
- }
+ var user = await _userManager.FindByNameAsync(input.UserName);
+ if (user != null)
+ {
- TokenResponse token = await RequestAuthServerLoginByPasswordAsync(input.UserName, input.PassWord);
+ var verifyResult = await _userManager.CheckPasswordAsync(user, input.PassWord);
+ if (verifyResult)
+ {
- if (token.HttpResponse != null && token.HttpResponse.StatusCode == HttpStatusCode.OK)
- {
- msg = new UserLoginDto
- {
- //code = 1,
- //msg = "登录成功",
- peisid = PeisId,
- UserId = user.Id,
- OperatorType = user.GetProperty("operator_type"),
- access_token = token.AccessToken,
- expires_in = token.ExpiresIn,
- refresh_token = token.RefreshToken,
- token_type = token.TokenType
- };
- }
- else
- {
- //msg = new UserLoginDto { code = 1, msg = "登录成功", peisid = PeisId };
- throw new UserFriendlyException("获取token失败");
- }
- }
- else
+ var PeisId = await _peisOrganizationUnitManager.GetPeisIdAsync(user.Id);
+
+ if (user.IsActive == false)
{
- //msg = new UserLoginDto { code = -1, msg = "密码不正确" };
- throw new UserFriendlyException("密码不正确");
+ throw new UserFriendlyException("账号已被禁用");
}
+ if (user.LockoutEnabled == true)
+ {
+ throw new UserFriendlyException("账号已被锁定");
+ }
+ TokenResponse token = await RequestAuthServerLoginByPasswordAsync(input.UserName, input.PassWord);
- #region MyRegion
- //var verifyResult = _passwordHasher.VerifyHashedPassword(user, user.PasswordHash, PassWord);
-
- //if (verifyResult == PasswordVerificationResult.Success)
- //{
- // return "1";
- //}
- //else
- //{
- // throw new UserFriendlyException("密码错误");
- //}
- #endregion
-
+ if (token.HttpResponse != null && token.HttpResponse.StatusCode == HttpStatusCode.OK)
+ {
+ msg = new UserLoginDto
+ {
+ //code = 1,
+ //msg = "登录成功",
+ peisid = PeisId,
+ UserId = user.Id,
+ OperatorType = user.GetProperty("operator_type"),
+ access_token = token.AccessToken,
+ expires_in = token.ExpiresIn,
+ refresh_token = token.RefreshToken,
+ token_type = token.TokenType
+ };
+ }
+ else
+ {
+ //msg = new UserLoginDto { code = 1, msg = "登录成功", peisid = PeisId };
+ throw new UserFriendlyException("获取token失败");
+ }
}
else
{
- //msg = new UserLoginDto { code = -1, msg = "用户不存在" };
- throw new UserFriendlyException("用户不存在");
+ //msg = new UserLoginDto { code = -1, msg = "密码不正确" };
+ throw new UserFriendlyException("密码不正确");
}
- return msg;
- }
+ #region MyRegion
+ //var verifyResult = _passwordHasher.VerifyHashedPassword(user, user.PasswordHash, PassWord);
+
+ //if (verifyResult == PasswordVerificationResult.Success)
+ //{
+ // return "1";
+ //}
+ //else
+ //{
+ // throw new UserFriendlyException("密码错误");
+ //}
+ #endregion
- protected virtual async Task RequestAuthServerLoginByPasswordAsync(string username, string password)
+ }
+ else
{
- var client = _httpClientFactory.CreateClient();
+ //msg = new UserLoginDto { code = -1, msg = "用户不存在" };
+ throw new UserFriendlyException("用户不存在");
+ }
- var request = new PasswordTokenRequest
- {
- Address = _configuration["AuthServer:Authority"] + "/connect/token",
- //GrantType = "password",
- //UserName = username,
- //Password = password,
- //Scope = "Peis offline_access",
- //ClientId = "Peis_App",
- Parameters =
+ return msg;
+
+ }
+
+
+ protected virtual async Task RequestAuthServerLoginByPasswordAsync(string username, string password)
+ {
+ var client = _httpClientFactory.CreateClient();
+
+ var request = new PasswordTokenRequest
+ {
+ Address = _configuration["AuthServer:Authority"] + "/connect/token",
+ //GrantType = "password",
+ //UserName = username,
+ //Password = password,
+ //Scope = "Peis offline_access",
+ //ClientId = "Peis_App",
+ Parameters =
{
{"username",username},
{"password",password },
@@ -676,12 +677,12 @@ namespace Shentun.Peis.MyUser
{"client_id","Peis_App" },
{"grant_type","password" }
}
- };
-
- //request.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
+ };
- return await client.RequestTokenAsync(request);
- }
+ //request.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
+ return await client.RequestTokenAsync(request);
}
+
+}
}
diff --git a/src/Shentun.Peis.Application/OcCheckTypeDetails/OcCheckTypeDetailAppService.cs b/src/Shentun.Peis.Application/OcCheckTypeDetails/OcCheckTypeDetailAppService.cs
new file mode 100644
index 0000000..aa5706b
--- /dev/null
+++ b/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
+{
+ ///
+ /// 职业病检查类别对应的项目
+ ///
+ [ApiExplorerSettings(GroupName = "Work")]
+ [Authorize]
+ public class OcCheckTypeDetailAppService : ApplicationService
+ {
+ private readonly IRepository _ocCheckTypeDetailRepository;
+ private readonly IRepository _asbitemRepository;
+ private readonly OcCheckTypeDetailManager _manager;
+ private readonly CacheService _cacheService;
+
+ public OcCheckTypeDetailAppService(
+ IRepository ocCheckTypeDetailRepository,
+ OcCheckTypeDetailManager manager,
+ CacheService cacheService,
+ IRepository asbitemRepository)
+ {
+ _ocCheckTypeDetailRepository = ocCheckTypeDetailRepository;
+ _manager = manager;
+ _cacheService = cacheService;
+ _asbitemRepository = asbitemRepository;
+ }
+
+ ///
+ /// 批量创建 先删除
+ ///
+ ///
+ ///
+ [HttpPost("api/app/OcCheckTypeDetail/CreateOcCheckTypeDetailMany")]
+ public async Task CreateOcCheckTypeDetailManyAsync(CreateOcCheckTypeDetailManyInputDto input)
+ {
+ await _manager.CheckAndDeleteAsync(input.OcCheckTypeId, input.PoisonId);
+
+ if (input.Details.Any())
+ {
+ List ocCheckTypeDetails = new List();
+ 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);
+ }
+
+ }
+ }
+
+
+
+
+
+ ///
+ /// 获取职业病检查类别、毒害因素对应的组合项目列表
+ ///
+ ///
+ ///
+ [HttpPost("api/app/OcCheckTypeDetail/GetOcCheckTypeDetailByOcCheckTypeIdAndPoisonId")]
+ public async Task> 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;
+
+ }
+ }
+}
diff --git a/src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs b/src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs
index 479731d..4a9ef8e 100644
--- a/src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs
+++ b/src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs
@@ -340,6 +340,35 @@ namespace Shentun.Peis.RegisterCheckPictures
+ ///
+ /// 导入检查图片
+ ///
+ ///
+ [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();
+ pic.Add(new UploadRegisterCheckPictureManyPictureBaseStrsDto
+ {
+ FileName = input.PictureName,
+ PictureBaseStr = input.PictureBase64
+ });
+
+ await UploadRegisterCheckPictureManyAsync(new UploadRegisterCheckPictureManyDto
+ {
+ PictureBaseStrs = pic,
+ PictureFileType = '0',
+ RegisterCheckId = registerCheckEnt.Id
+ });
+
+ }
}
}
diff --git a/src/Shentun.Peis.DbMigrator/appsettings.json b/src/Shentun.Peis.DbMigrator/appsettings.json
index 5721ccb..716e57a 100644
--- a/src/Shentun.Peis.DbMigrator/appsettings.json
+++ b/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": {
diff --git a/src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetail.cs b/src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetail.cs
new file mode 100644
index 0000000..828a2eb
--- /dev/null
+++ b/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
+{
+ ///
+ /// 职业病检查类别 毒害因素 对应的项目
+ ///
+ [Table("oc_check_type_detail")]
+ public class OcCheckTypeDetail : Entity, IHasConcurrencyStamp
+ {
+ ///
+ /// 检查类别ID
+ ///
+ [Key]
+ [Column("oc_check_type_id")]
+ public Guid OcCheckTypeId { get; set; }
+ ///
+ /// 毒害因素ID
+ ///
+ [Key]
+ [Column("poison_id")]
+ public Guid PoisonId { get; set; }
+
+ ///
+ /// 组合项目编号
+ ///
+ [Key]
+ [Column("asbitem_id")]
+ public Guid AsbitemId { get; set; }
+
+
+ ///
+ /// 价格
+ ///
+ [Column("price")]
+ [Precision(10, 2)]
+ public decimal Price { get; set; }
+
+
+ ///
+ /// 数量
+ ///
+ [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 };
+ }
+ }
+}
diff --git a/src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetailManager.cs b/src/Shentun.Peis.Domain/OcCheckTypeDetails/OcCheckTypeDetailManager.cs
new file mode 100644
index 0000000..e9035fa
--- /dev/null
+++ b/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 _repository;
+
+ public OcCheckTypeDetailManager(
+ IRepository repository
+ )
+ {
+ _repository = repository;
+ }
+
+
+ ///
+ /// 创建
+ ///
+ ///
+ ///
+ 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;
+ }
+
+
+ ///
+ /// 删除职业病检查类别对应的项目明细
+ ///
+ ///
+ ///
+ ///
+ 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);
+
+ }
+
+ }
+ }
+}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/OcCheckTypeDetails/OcCheckTypeDetailDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/OcCheckTypeDetails/OcCheckTypeDetailDbMapping.cs
new file mode 100644
index 0000000..fb4bdaa
--- /dev/null
+++ b/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
+ {
+ public void Configure(EntityTypeBuilder 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();
+ }
+ }
+}
diff --git a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
index d3f6e3d..69e7635 100644
--- a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
+++ b/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 PatientPastMedicalHistorys { get; set; } = null!;
+ public DbSet OcCheckTypeDetails { get; set; }=null!;
+
public PeisDbContext(DbContextOptions 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
diff --git a/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs
new file mode 100644
index 0000000..1b6c81b
--- /dev/null
+++ b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240702095856_检查类别对应项目.Designer.cs
@@ -0,0 +1,15034 @@
+//
+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("20240702095856_检查类别对应项目")]
+ partial class 检查类别对应项目
+ {
+ 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.ToTable("AsbitemRoom");
+ });
+
+ modelBuilder.Entity("RoomAsbitem", b =>
+ {
+ b.Property("RoomId")
+ .HasMaxLength(5)
+ .HasColumnType("uuid")
+ .HasColumnName("room_id")
+ .IsFixedLength();
+
+ b.Property("AsbitemId")
+ .HasMaxLength(6)
+ .HasColumnType("uuid")
+ .HasColumnName("asbitem_id")
+ .IsFixedLength();
+
+ b.HasKey("RoomId", "AsbitemId")
+ .HasName("pk_room_asbitem");
+
+ b.HasIndex("AsbitemId");
+
+ b.ToTable("room_asbitem", (string)null);
+
+ b.HasComment("房间包含组合项目设置");
+ });
+
+ 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