diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
index 69f245ca..111a0dc3 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/AsbitemDto.cs
@@ -141,5 +141,16 @@ namespace Shentun.Peis.Asbitems
public string Warn { get; set; }
+ ///
+ /// 备孕期间禁止检查
+ ///
+ public char IsDisablePreparePregnancy { get; set; }
+
+ ///
+ /// 怀孕期间禁止检查
+ ///
+ public char IsDisablePregnancy { get; set; }
+
+
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
index daac663b..c4523cc6 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
using System.Text;
namespace Shentun.Peis.Asbitems
@@ -131,6 +133,16 @@ namespace Shentun.Peis.Asbitems
///
public string Warn { get; set; }
+ ///
+ /// 备孕期间禁止检查
+ ///
+ public char IsDisablePreparePregnancy { get; set; } = 'N';
+
+ ///
+ /// 怀孕期间禁止检查
+ ///
+ public char IsDisablePregnancy { get; set; } = 'N';
+
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
index 35a235ed..c9965e9f 100644
--- a/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/Asbitems/UpdateAsbitemDto.cs
@@ -132,5 +132,16 @@ namespace Shentun.Peis.Asbitems
public string Warn { get; set; }
+ ///
+ /// 备孕期间禁止检查
+ ///
+ public char IsDisablePreparePregnancy { get; set; } = 'N';
+
+ ///
+ /// 怀孕期间禁止检查
+ ///
+ public char IsDisablePregnancy { get; set; } = 'N';
+
+
}
}
diff --git a/src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs b/src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs
index f8aee49e..33e94f24 100644
--- a/src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/OccupationalDiseases/OccupationalDiseaseWithDetailInputDto.cs
@@ -16,6 +16,39 @@ namespace Shentun.Peis.OccupationalDiseases
///
public Guid PatientRegisterId { get; set; }
+
+ ///
+ /// 是否需要处理基础信息 默认 处理 Y N
+ ///
+ public char IsPatientOccupationalDiseaseUpdate { get; set; } = 'Y';
+
+ ///
+ /// 是否需要处理毒害因素 默认 处理 Y N
+ ///
+ public char IsPatientPoisonsUpdate { get; set; } = 'Y';
+
+
+ ///
+ /// 是否需要处理既往病史 默认 处理 Y N
+ ///
+ public char IsPatientPastMedicalHistorysUpdate { get; set; } = 'Y';
+
+ ///
+ /// 是否需要处理职业病史 默认 处理 Y N
+ ///
+ public char IsPatientOccupationalMedicalHistorysUpdate { get; set; } = 'Y';
+
+ ///
+ /// 是否需要处理职业史 默认 处理 Y N
+ ///
+ public char IsPatientOccupationalHistorysUpdate { get; set; } = 'Y';
+
+ ///
+ /// 是否需要处理症状 默认 处理 Y N
+ ///
+ public char IsPatientSymptomsUpdate { get; set; } = 'Y';
+
+
///
/// 基础信息
///
@@ -235,6 +268,10 @@ namespace Shentun.Peis.OccupationalDiseases
public class PatientOccupationalHistoryInputDto
{
+ ///
+ /// 职业史ID
+ ///
+ public Guid? Id { get; set; }
///
/// 单位
@@ -275,6 +312,12 @@ namespace Shentun.Peis.OccupationalDiseases
public class PatientOccupationalMedicalHistoryInputDto
{
+ ///
+ /// 职业病史ID
+ ///
+ public Guid? Id { get; set; }
+
+
///
/// 病名
///
@@ -303,6 +346,10 @@ namespace Shentun.Peis.OccupationalDiseases
public class PatientPastMedicalHistoryInputDto
{
+ ///
+ /// 既往病史ID
+ ///
+ public Guid? Id { get; set; }
///
/// 病名
@@ -329,7 +376,7 @@ namespace Shentun.Peis.OccupationalDiseases
public string? TreatmentMethods { get; set; }
}
- public class PatientSymptomInputDto
+ public class PatientSymptomInputDto
{
public Guid SymptomId { get; set; }
diff --git a/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs b/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
index 78ccbdd9..16febaed 100644
--- a/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
+++ b/src/Shentun.Peis.Application/Asbitems/AsbitemAppService.cs
@@ -144,6 +144,8 @@ namespace Shentun.Peis.Asbitems
IsWebAppoint = s.a.IsWebAppoint,
DiseaseScreeningTypeId = s.a.DiseaseScreeningTypeId,
Warn = s.a.Warn,
+ IsDisablePregnancy = s.a.IsDisablePregnancy,
+ IsDisablePreparePregnancy = s.a.IsDisablePreparePregnancy,
CreatorName = s.ab != null ? s.ab.Surname : "",
LastModifierName = s.ac != null ? s.ac.Surname : ""
}).OrderBy(o => o.DisplayOrder).ToList();
diff --git a/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs b/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs
index 3784af6e..8693ee8c 100644
--- a/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs
+++ b/src/Shentun.Peis.Application/OccupationalDiseases/OccupationalDiseaseAppService.cs
@@ -103,6 +103,163 @@ namespace Shentun.Peis.OccupationalDiseases
_poisonRepository = poisonRepository;
}
+ /////
+ ///// 创建职业病信息
+ /////
+ /////
+ //[HttpPost("api/app/OccupationalDisease/CreateOccupationalDiseaseWithDetail")]
+ //public async Task CreateOccupationalDiseaseWithDetailAsync(OccupationalDiseaseWithDetailInputDto input)
+ //{
+ // if (input == null)
+ // {
+ // throw new UserFriendlyException("请求参数有误");
+ // }
+
+ // if (input.PatientRegisterId == Guid.Empty)
+ // throw new UserFriendlyException("人员ID不正确");
+
+ // #region 基础信息
+ // if (input.PatientOccupationalDisease == null)
+ // throw new UserFriendlyException("职业病基础信息有误");
+
+ // var patientOccupationalDiseaseInput = ObjectMapper.Map(input.PatientOccupationalDisease);
+
+ // patientOccupationalDiseaseInput.PatientRegisterId = input.PatientRegisterId;
+
+ // var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId);
+ // if (patientOccupationalDiseaseEnt == null)
+ // {
+
+ // var entity = _patientOccupationalDiseaseManager.CreateAsync(patientOccupationalDiseaseInput);
+ // await _patientOccupationalDiseaseRepository.InsertAsync(entity, true);
+ // }
+ // else
+ // {
+ // _patientOccupationalDiseaseManager.UpdateAsync(patientOccupationalDiseaseInput, patientOccupationalDiseaseEnt);
+ // await _patientOccupationalDiseaseRepository.UpdateAsync(patientOccupationalDiseaseEnt, true);
+ // }
+ // #endregion
+
+ // #region 毒害因素
+
+ // var patientPoisonsInput = ObjectMapper.Map, List>(input.PatientPoisons);
+ // await _patientPoisonRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
+ // List patientPoisonList = new List();
+ // foreach (var item in patientPoisonsInput)
+ // {
+ // if (patientPoisonList.Select(s => s.PoisonId).Contains(item.PoisonId))
+ // {
+ // string errPoisonName = "";
+ // var errPoison = await _poisonRepository.FirstOrDefaultAsync(f => f.Id == item.PoisonId);
+ // if (errPoison != null)
+ // errPoisonName = errPoison.DisplayName;
+ // throw new UserFriendlyException($"接害因素{errPoisonName}不能重复选择");
+ // }
+ // patientPoisonList.Add(new PatientPoison
+ // {
+ // PatientRegisterId = input.PatientRegisterId,
+ // PoisonId = item.PoisonId,
+ // OccupationalAbnormalId = item.OccupationalAbnormalId
+ // });
+ // }
+
+ // await _patientPoisonRepository.InsertManyAsync(patientPoisonList, true);
+ // #endregion
+
+ // #region 症状
+
+ // var patientSymptomsInput = ObjectMapper.Map, List>(input.PatientSymptoms);
+ // await _patientSymptomRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
+ // List patientSymptomList = new List();
+ // foreach (var item in patientSymptomsInput)
+ // {
+ // patientSymptomList.Add(new PatientSymptom
+ // {
+ // PatientRegisterId = input.PatientRegisterId,
+ // Degree = item.Degree,
+ // SymptomId = item.SymptomId,
+ // TimeLength = item.TimeLength
+ // });
+ // }
+
+ // await _patientSymptomRepository.InsertManyAsync(patientSymptomList, true);
+
+ // #endregion
+
+ // #region 职业病史
+
+ // var patientOccupationalMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalMedicalHistorys);
+ // await _patientOccupationalMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
+ // List patientOccupationalMedicalHistoryList = new List();
+ // foreach (var item in patientOccupationalMedicalHistorysInput)
+ // {
+ // patientOccupationalMedicalHistoryList.Add(new PatientOccupationalMedicalHistory
+ // {
+ // PatientRegisterId = input.PatientRegisterId,
+ // DiagnosisDate = item.DiagnosisDate,
+ // DiagnosisHospital = item.DiagnosisHospital,
+ // IsRecovery = item.IsRecovery,
+ // OccupationalDisease = item.OccupationalDisease,
+ // TreatmentMethods = item.TreatmentMethods
+ // });
+ // }
+
+ // await _patientOccupationalMedicalHistoryRepository.InsertManyAsync(patientOccupationalMedicalHistoryList, true);
+
+ // #endregion
+
+ // #region 既往病史
+
+ // var patientPastMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientPastMedicalHistorys);
+ // await _patientPastMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
+ // List PatientPastMedicalHistoryList = new List();
+ // foreach (var item in patientPastMedicalHistorysInput)
+ // {
+ // PatientPastMedicalHistoryList.Add(new PatientPastMedicalHistory
+ // {
+ // PatientRegisterId = input.PatientRegisterId,
+ // DiagnosisDate = item.DiagnosisDate,
+ // DiagnosisHospital = item.DiagnosisHospital,
+ // IsRecovery = item.IsRecovery,
+ // OccupationalDisease = item.OccupationalDisease,
+ // TreatmentMethods = item.TreatmentMethods
+ // });
+ // }
+
+ // await _patientPastMedicalHistoryRepository.InsertManyAsync(PatientPastMedicalHistoryList, true);
+
+ // #endregion
+
+ // #region 职业史
+
+ // var patientOccupationalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalHistorys);
+ // await _patientOccupationalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
+ // List patientOccupationalHistoryList = new List();
+ // foreach (var item in patientOccupationalHistorysInput)
+ // {
+ // patientOccupationalHistoryList.Add(new PatientOccupationalHistory
+ // {
+ // PatientRegisterId = input.PatientRegisterId,
+ // BeginDate = item.BeginDate,
+ // EndDate = item.EndDate,
+ // Org = item.Org,
+ // Poison = item.Poison,
+ // ProtectiveMeasures = item.ProtectiveMeasures,
+ // WorkShop = item.WorkShop,
+ // WorkType = item.WorkType
+ // });
+ // }
+
+ // await _patientOccupationalHistoryRepository.InsertManyAsync(patientOccupationalHistoryList, true);
+
+ // #endregion
+
+ // return await GetOccupationalDiseaseWithDetailByPatientRegisterIdAsync(new PatientRegisterIdInputDto
+ // {
+ // PatientRegisterId = input.PatientRegisterId
+ // });
+ //}
+
///
/// 创建职业病信息
///
@@ -119,139 +276,253 @@ namespace Shentun.Peis.OccupationalDiseases
throw new UserFriendlyException("人员ID不正确");
#region 基础信息
- if (input.PatientOccupationalDisease == null)
- throw new UserFriendlyException("职业病基础信息有误");
- var patientOccupationalDiseaseInput = ObjectMapper.Map(input.PatientOccupationalDisease);
+ if (input.IsPatientOccupationalDiseaseUpdate == 'Y')
+ {
+ if (input.PatientOccupationalDisease == null)
+ throw new UserFriendlyException("职业病基础信息有误");
- patientOccupationalDiseaseInput.PatientRegisterId = input.PatientRegisterId;
+ var patientOccupationalDiseaseInput = ObjectMapper.Map(input.PatientOccupationalDisease);
- var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId);
- if (patientOccupationalDiseaseEnt == null)
- {
+ patientOccupationalDiseaseInput.PatientRegisterId = input.PatientRegisterId;
- var entity = _patientOccupationalDiseaseManager.CreateAsync(patientOccupationalDiseaseInput);
- await _patientOccupationalDiseaseRepository.InsertAsync(entity, true);
- }
- else
- {
- _patientOccupationalDiseaseManager.UpdateAsync(patientOccupationalDiseaseInput, patientOccupationalDiseaseEnt);
- await _patientOccupationalDiseaseRepository.UpdateAsync(patientOccupationalDiseaseEnt, true);
+ var patientOccupationalDiseaseEnt = await _patientOccupationalDiseaseRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId);
+ if (patientOccupationalDiseaseEnt == null)
+ {
+
+ var entity = _patientOccupationalDiseaseManager.CreateAsync(patientOccupationalDiseaseInput);
+ await _patientOccupationalDiseaseRepository.InsertAsync(entity, true);
+ }
+ else
+ {
+ _patientOccupationalDiseaseManager.UpdateAsync(patientOccupationalDiseaseInput, patientOccupationalDiseaseEnt);
+ await _patientOccupationalDiseaseRepository.UpdateAsync(patientOccupationalDiseaseEnt, true);
+ }
}
#endregion
#region 毒害因素
-
- var patientPoisonsInput = ObjectMapper.Map, List>(input.PatientPoisons);
- await _patientPoisonRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
- List patientPoisonList = new List();
- foreach (var item in patientPoisonsInput)
+ if (input.IsPatientPoisonsUpdate == 'Y')
{
- if (patientPoisonList.Select(s => s.PoisonId).Contains(item.PoisonId))
+ var patientPoisonsInput = ObjectMapper.Map, List>(input.PatientPoisons);
+ //当前数据
+ List patientPoisonList = await _patientPoisonRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
+ List newPoisonIds = new List(); //新数据
+ foreach (var item in patientPoisonsInput)
{
- string errPoisonName = "";
- var errPoison = await _poisonRepository.FirstOrDefaultAsync(f => f.Id == item.PoisonId);
- if (errPoison != null)
- errPoisonName = errPoison.DisplayName;
- throw new UserFriendlyException($"接害因素{errPoisonName}不能重复选择");
+ newPoisonIds.Add(item.PoisonId);
+
+ var isPatientPoison = await _patientPoisonRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId && f.PoisonId == item.PoisonId);
+ if (isPatientPoison == null)
+ {
+ var patientPoisonEnt = new PatientPoison
+ {
+ PatientRegisterId = input.PatientRegisterId,
+ PoisonId = item.PoisonId,
+ OccupationalAbnormalId = item.OccupationalAbnormalId
+ };
+
+ await _patientPoisonRepository.InsertAsync(patientPoisonEnt, true);
+ }
+ else
+ {
+ isPatientPoison.OccupationalAbnormalId = item.OccupationalAbnormalId;
+
+ await _patientPoisonRepository.UpdateAsync(isPatientPoison, true);
+ }
}
- patientPoisonList.Add(new PatientPoison
- {
- PatientRegisterId = input.PatientRegisterId,
- PoisonId = item.PoisonId,
- OccupationalAbnormalId = item.OccupationalAbnormalId
- });
- }
- await _patientPoisonRepository.InsertManyAsync(patientPoisonList, true);
+ //需要删除的数据
+ var deletePatientPoisonList = patientPoisonList.Where(m => !newPoisonIds.Contains(m.PoisonId)).ToList();
+ await _patientPoisonRepository.DeleteManyAsync(deletePatientPoisonList);
+
+ }
#endregion
#region 症状
- var patientSymptomsInput = ObjectMapper.Map, List>(input.PatientSymptoms);
- await _patientSymptomRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
- List patientSymptomList = new List();
- foreach (var item in patientSymptomsInput)
+ if (input.IsPatientSymptomsUpdate == 'Y')
{
- patientSymptomList.Add(new PatientSymptom
+ var patientSymptomsInput = ObjectMapper.Map, List>(input.PatientSymptoms);
+ //当前数据
+ List patientSymptomList = await _patientSymptomRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
+ List newSymptomIds = new List(); //新数据
+
+ foreach (var item in patientSymptomsInput)
{
- PatientRegisterId = input.PatientRegisterId,
- Degree = item.Degree,
- SymptomId = item.SymptomId,
- TimeLength = item.TimeLength
- });
- }
+ newSymptomIds.Add(item.SymptomId);
+ var isPatientSymptom = await _patientSymptomRepository.FirstOrDefaultAsync(f => f.PatientRegisterId == input.PatientRegisterId && f.SymptomId == item.SymptomId);
+ if (isPatientSymptom == null)
+ {
+ var patientSymptomEnt = new PatientSymptom
+ {
+ PatientRegisterId = input.PatientRegisterId,
+ Degree = item.Degree,
+ SymptomId = item.SymptomId,
+ TimeLength = item.TimeLength
+ };
+
+ await _patientSymptomRepository.InsertAsync(patientSymptomEnt, true);
+ }
+ else
+ {
+ isPatientSymptom.Degree = item.Degree;
+ isPatientSymptom.TimeLength = item.TimeLength;
+
+ await _patientSymptomRepository.UpdateAsync(isPatientSymptom, true);
+ }
+
+
+ }
- await _patientSymptomRepository.InsertManyAsync(patientSymptomList, true);
+ //需要删除的数据
+ var deletePatientSymptomList = patientSymptomList.Where(m => !newSymptomIds.Contains(m.SymptomId)).ToList();
+ await _patientSymptomRepository.DeleteManyAsync(deletePatientSymptomList);
+ }
#endregion
#region 职业病史
- var patientOccupationalMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalMedicalHistorys);
- await _patientOccupationalMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
- List patientOccupationalMedicalHistoryList = new List();
- foreach (var item in patientOccupationalMedicalHistorysInput)
+ if (input.IsPatientOccupationalMedicalHistorysUpdate == 'Y')
{
- patientOccupationalMedicalHistoryList.Add(new PatientOccupationalMedicalHistory
+ var patientOccupationalMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalMedicalHistorys);
+ List patientOccupationalMedicalHistoryList = await _patientOccupationalMedicalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
+ List newPatientOccupationalMedicalHistoryIds = new List(); //新数据
+ foreach (var item in patientOccupationalMedicalHistorysInput)
{
- PatientRegisterId = input.PatientRegisterId,
- DiagnosisDate = item.DiagnosisDate,
- DiagnosisHospital = item.DiagnosisHospital,
- IsRecovery = item.IsRecovery,
- OccupationalDisease = item.OccupationalDisease,
- TreatmentMethods = item.TreatmentMethods
- });
- }
+ var oldPatientOccupationalMedicalHistoryEnt = await _patientOccupationalMedicalHistoryRepository.FirstOrDefaultAsync(f => f.Id == item.Id);
+
+ if (item.Id == Guid.Empty || oldPatientOccupationalMedicalHistoryEnt == null)
+ {
+ var patientOccupationalMedicalHistoryEnt = new PatientOccupationalMedicalHistory
+ {
+ PatientRegisterId = input.PatientRegisterId,
+ DiagnosisDate = item.DiagnosisDate,
+ DiagnosisHospital = item.DiagnosisHospital,
+ IsRecovery = item.IsRecovery,
+ OccupationalDisease = item.OccupationalDisease,
+ TreatmentMethods = item.TreatmentMethods
+ };
+
+ await _patientOccupationalMedicalHistoryRepository.InsertAsync(patientOccupationalMedicalHistoryEnt, true);
+ }
+ else
+ {
+
+ newPatientOccupationalMedicalHistoryIds.Add(item.Id);
+
+ oldPatientOccupationalMedicalHistoryEnt.DiagnosisDate = item.DiagnosisDate;
+ oldPatientOccupationalMedicalHistoryEnt.DiagnosisHospital = item.DiagnosisHospital;
+ oldPatientOccupationalMedicalHistoryEnt.IsRecovery = item.IsRecovery;
+ oldPatientOccupationalMedicalHistoryEnt.OccupationalDisease = item.OccupationalDisease;
+ oldPatientOccupationalMedicalHistoryEnt.TreatmentMethods = item.TreatmentMethods;
- await _patientOccupationalMedicalHistoryRepository.InsertManyAsync(patientOccupationalMedicalHistoryList, true);
+ await _patientOccupationalMedicalHistoryRepository.UpdateAsync(oldPatientOccupationalMedicalHistoryEnt, true);
+ }
+ }
+
+ //需要删除的数据
+ var deletePatientOccupationalMedicalHistoryList = patientOccupationalMedicalHistoryList.Where(m => !newPatientOccupationalMedicalHistoryIds.Contains(m.Id)).ToList();
+ await _patientOccupationalMedicalHistoryRepository.DeleteManyAsync(deletePatientOccupationalMedicalHistoryList);
+ }
#endregion
#region 既往病史
- var patientPastMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientPastMedicalHistorys);
- await _patientPastMedicalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
- List PatientPastMedicalHistoryList = new List();
- foreach (var item in patientPastMedicalHistorysInput)
+ if (input.IsPatientPastMedicalHistorysUpdate == 'Y')
{
- PatientPastMedicalHistoryList.Add(new PatientPastMedicalHistory
+ var patientPastMedicalHistorysInput = ObjectMapper.Map, List>(input.PatientPastMedicalHistorys);
+ List patientPastMedicalHistoryList = await _patientPastMedicalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
+ List newPatientPastMedicalHistoryIds = new List(); //新数据
+ foreach (var item in patientPastMedicalHistorysInput)
{
- PatientRegisterId = input.PatientRegisterId,
- DiagnosisDate = item.DiagnosisDate,
- DiagnosisHospital = item.DiagnosisHospital,
- IsRecovery = item.IsRecovery,
- OccupationalDisease = item.OccupationalDisease,
- TreatmentMethods = item.TreatmentMethods
- });
- }
+ var oldPatientPastMedicalHistoryEnt = await _patientPastMedicalHistoryRepository.FirstOrDefaultAsync(f => f.Id == item.Id);
- await _patientPastMedicalHistoryRepository.InsertManyAsync(PatientPastMedicalHistoryList, true);
+ if (item.Id == Guid.Empty || oldPatientPastMedicalHistoryEnt == null)
+ {
+ var patientPastMedicalHistoryEnt = new PatientPastMedicalHistory
+ {
+ PatientRegisterId = input.PatientRegisterId,
+ DiagnosisDate = item.DiagnosisDate,
+ DiagnosisHospital = item.DiagnosisHospital,
+ IsRecovery = item.IsRecovery,
+ OccupationalDisease = item.OccupationalDisease,
+ TreatmentMethods = item.TreatmentMethods
+ };
+
+ await _patientPastMedicalHistoryRepository.InsertAsync(patientPastMedicalHistoryEnt, true);
+ }
+ else
+ {
+ newPatientPastMedicalHistoryIds.Add(item.Id);
+
+ oldPatientPastMedicalHistoryEnt.DiagnosisDate = item.DiagnosisDate;
+ oldPatientPastMedicalHistoryEnt.DiagnosisHospital = item.DiagnosisHospital;
+ oldPatientPastMedicalHistoryEnt.IsRecovery = item.IsRecovery;
+ oldPatientPastMedicalHistoryEnt.OccupationalDisease = item.OccupationalDisease;
+ oldPatientPastMedicalHistoryEnt.TreatmentMethods = item.TreatmentMethods;
+
+ await _patientPastMedicalHistoryRepository.UpdateAsync(oldPatientPastMedicalHistoryEnt, true);
+ }
+ }
+ //需要删除的数据
+ var deletePatientPastMedicalHistoryList = patientPastMedicalHistoryList.Where(m => !newPatientPastMedicalHistoryIds.Contains(m.Id)).ToList();
+ await _patientPastMedicalHistoryRepository.DeleteManyAsync(deletePatientPastMedicalHistoryList);
+
+ }
#endregion
#region 职业史
- var patientOccupationalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalHistorys);
- await _patientOccupationalHistoryRepository.DeleteAsync(d => d.PatientRegisterId == input.PatientRegisterId);
- List patientOccupationalHistoryList = new List();
- foreach (var item in patientOccupationalHistorysInput)
+ if (input.IsPatientOccupationalHistorysUpdate == 'Y')
{
- patientOccupationalHistoryList.Add(new PatientOccupationalHistory
+ var patientOccupationalHistorysInput = ObjectMapper.Map, List>(input.PatientOccupationalHistorys);
+ List patientOccupationalHistoryList = await _patientOccupationalHistoryRepository.GetListAsync(m => m.PatientRegisterId == input.PatientRegisterId);
+ List newPatientOccupationalHistoryIds = new List(); //新数据
+ foreach (var item in patientOccupationalHistorysInput)
{
- PatientRegisterId = input.PatientRegisterId,
- BeginDate = item.BeginDate,
- EndDate = item.EndDate,
- Org = item.Org,
- Poison = item.Poison,
- ProtectiveMeasures = item.ProtectiveMeasures,
- WorkShop = item.WorkShop,
- WorkType = item.WorkType
- });
- }
+ var oldPatientOccupationalHistoryEnt = await _patientOccupationalHistoryRepository.FirstOrDefaultAsync(f => f.Id == item.Id);
+
+ if (item.Id == Guid.Empty || oldPatientOccupationalHistoryEnt == null)
+ {
+ var patientOccupationalHistoryEnt = new PatientOccupationalHistory
+ {
+ PatientRegisterId = input.PatientRegisterId,
+ BeginDate = item.BeginDate,
+ EndDate = item.EndDate,
+ Org = item.Org,
+ Poison = item.Poison,
+ ProtectiveMeasures = item.ProtectiveMeasures,
+ WorkShop = item.WorkShop,
+ WorkType = item.WorkType
+ };
+
+ await _patientOccupationalHistoryRepository.InsertAsync(patientOccupationalHistoryEnt, true);
+ }
+ else
+ {
+ newPatientOccupationalHistoryIds.Add(item.Id);
+
+ oldPatientOccupationalHistoryEnt.BeginDate = item.BeginDate;
+ oldPatientOccupationalHistoryEnt.EndDate = item.EndDate;
+ oldPatientOccupationalHistoryEnt.Org = item.Org;
+ oldPatientOccupationalHistoryEnt.Poison = item.Poison;
+ oldPatientOccupationalHistoryEnt.ProtectiveMeasures = item.ProtectiveMeasures;
+ oldPatientOccupationalHistoryEnt.WorkShop = item.WorkShop;
+ oldPatientOccupationalHistoryEnt.WorkType = item.WorkType;
- await _patientOccupationalHistoryRepository.InsertManyAsync(patientOccupationalHistoryList, true);
+ await _patientOccupationalHistoryRepository.UpdateAsync(oldPatientOccupationalHistoryEnt, true);
+ }
+ }
+
+ //需要删除的数据
+ var deletePatientOccupationalHistoryList = patientOccupationalHistoryList.Where(m => !newPatientOccupationalHistoryIds.Contains(m.Id)).ToList();
+ await _patientOccupationalHistoryRepository.DeleteManyAsync(deletePatientOccupationalHistoryList);
+ }
#endregion
return await GetOccupationalDiseaseWithDetailByPatientRegisterIdAsync(new PatientRegisterIdInputDto
@@ -261,6 +532,7 @@ namespace Shentun.Peis.OccupationalDiseases
}
+
///
/// 获取职业病信息 根据人员登记ID
///
diff --git a/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs b/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs
index 75e1bd45..21499a6b 100644
--- a/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs
+++ b/src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs
@@ -429,10 +429,10 @@ namespace Shentun.Peis.TransToWebPeis
await WebDb.Ado.ExecuteCommandAsync("INSERT INTO public.asbitem(asbitem_id, asbitem_name, short_name, for_sex_id, item_type_id," +
"price, device_type_id, is_before_eat, clinical_meaning, default_result," +
"is_picture_rotate, is_check, is_active, simple_code, display_order, concurrency_stamp," +
- "creation_time, creator_id, last_modification_time, last_modifier_id, is_web_appoint,warn,disease_screening_type_id) values " +
+ "creation_time, creator_id, last_modification_time, last_modifier_id, is_web_appoint,warn,disease_screening_type_id,is_disable_pregnancy,is_disable_prepare_pregnancy) values " +
"(@asbitem_id,@asbitem_name,@short_name,@for_sex_id,@item_type_id,@price,@device_type_id::uuid,@is_before_eat,@clinical_meaning," +
"@default_result,@is_picture_rotate,@is_check,@is_active,@simple_code,@display_order,@concurrency_stamp,@creation_time," +
- "@creator_id,@last_modification_time,@last_modifier_id,@is_web_appoint,@warn,@disease_screening_type_id::uuid)",
+ "@creator_id,@last_modification_time,@last_modifier_id,@is_web_appoint,@warn,@disease_screening_type_id::uuid,@is_disable_pregnancy,@is_disable_prepare_pregnancy)",
new List() {
new SugarParameter("asbitem_id",asbitem.Id),
new SugarParameter("asbitem_name",asbitem.DisplayName),
@@ -456,7 +456,9 @@ namespace Shentun.Peis.TransToWebPeis
new SugarParameter("last_modifier_id",asbitem.LastModifierId),
new SugarParameter("is_web_appoint",asbitem.IsWebAppoint),
new SugarParameter("warn",asbitem.Warn),
- new SugarParameter("disease_screening_type_id",asbitem.DiseaseScreeningTypeId)
+ new SugarParameter("disease_screening_type_id",asbitem.DiseaseScreeningTypeId),
+ new SugarParameter("is_disable_pregnancy",asbitem.IsDisablePregnancy),
+ new SugarParameter("is_disable_prepare_pregnancy",asbitem.IsDisablePreparePregnancy)
});
//插入明细
diff --git a/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs b/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
index 67ef85b0..e55632bc 100644
--- a/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
+++ b/src/Shentun.Peis.Domain/Asbitems/AsbitemManager.cs
@@ -12,6 +12,7 @@ using System.Linq;
//using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Volo.Abp;
+using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
@@ -103,7 +104,9 @@ namespace Shentun.Peis.Asbitems
BarcodeMode = entity.BarcodeMode,
IsWebAppoint = entity.IsWebAppoint,
Warn = entity.Warn,
- DiseaseScreeningTypeId = entity.DiseaseScreeningTypeId
+ DiseaseScreeningTypeId = entity.DiseaseScreeningTypeId,
+ IsDisablePregnancy = entity.IsDisablePregnancy,
+ IsDisablePreparePregnancy = entity.IsDisablePreparePregnancy
};
}
///
@@ -148,6 +151,8 @@ namespace Shentun.Peis.Asbitems
targetEntity.IsWebAppoint = sourceEntity.IsWebAppoint;
targetEntity.DiseaseScreeningTypeId = sourceEntity.DiseaseScreeningTypeId;
targetEntity.Warn = sourceEntity.Warn;
+ targetEntity.IsDisablePregnancy = sourceEntity.IsDisablePregnancy;
+ targetEntity.IsDisablePreparePregnancy = sourceEntity.IsDisablePreparePregnancy;
}
@@ -172,6 +177,8 @@ namespace Shentun.Peis.Asbitems
DataHelper.CheckCharIsYOrN(entity.IsCheck, "是否为检查项目");
DataHelper.CheckCharIsYOrN(entity.IsActive, "是否启用");
DataHelper.CheckCharIsYOrN(entity.IsWebAppoint, "是否支持网上预约");
+ DataHelper.CheckCharIsYOrN(entity.IsDisablePregnancy, "是否怀孕期间禁止检查");
+ DataHelper.CheckCharIsYOrN(entity.IsDisablePreparePregnancy, "是否备孕期间禁止检查");
if (entity.BarcodeMode != BarcodeModeFlag.UsingItemType
&& entity.BarcodeMode != BarcodeModeFlag.PrintPatientRegisterNumber
&& entity.BarcodeMode != BarcodeModeFlag.NoPrint)
diff --git a/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240603101852_init20240603001.Designer.cs b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240603101852_init20240603001.Designer.cs
new file mode 100644
index 00000000..1c5b72a7
--- /dev/null
+++ b/src/Shentun.Peis.EntityFrameworkCore/Migrations/20240603101852_init20240603001.Designer.cs
@@ -0,0 +1,14944 @@
+//
+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("20240603101852_init20240603001")]
+ partial class init20240603001
+ {
+ 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("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("IsDisablePregnancy")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_disable_pregnancy")
+ .HasDefaultValueSql("'N'")
+ .HasComment("怀孕期间禁止检查");
+
+ b.Property("IsDisablePreparePregnancy")
+ .ValueGeneratedOnAdd()
+ .HasMaxLength(1)
+ .HasColumnType("character(1)")
+ .HasColumnName("is_disable_prepare_pregnancy")
+ .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("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