diff --git a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs index e64a1ff..ed0c5f0 100644 --- a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs +++ b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs @@ -42,8 +42,8 @@ namespace Shentun.Peis.DataMigrations /// /// 基础数据处理 /// - //[Authorize] - //[RemoteService(false)] + [Authorize] + [RemoteService(false)] public class BaseDataHandleAppService : ApplicationService { @@ -133,6 +133,9 @@ namespace Shentun.Peis.DataMigrations private readonly IRepository _reportFormatTemplateRepository; private readonly IRepository _sampleGroupRepository; private readonly IRepository _sampleGroupDetailRepository; + private readonly IRepository _sysParmTypeRepository; + private readonly IRepository _sysParmRepository; + private readonly IRepository _sysParmValueRepository; private Dictionary veryPatientNo = new Dictionary(); @@ -184,7 +187,10 @@ namespace Shentun.Peis.DataMigrations IRepository reportFormatRepository, IRepository reportFormatTemplateRepository, IRepository sampleGroupRepository, - IRepository sampleGroupDetailRepository) + IRepository sampleGroupDetailRepository, + IRepository sysParmTypeRepository, + IRepository sysParmRepository, + IRepository sysParmValueRepository) { _deviceTypeRepository = deviceTypeRepository; _itemTypeRepository = itemTypeRepository; @@ -234,6 +240,9 @@ namespace Shentun.Peis.DataMigrations _reportFormatTemplateRepository = reportFormatTemplateRepository; _sampleGroupRepository = sampleGroupRepository; _sampleGroupDetailRepository = sampleGroupDetailRepository; + _sysParmTypeRepository = sysParmTypeRepository; + _sysParmRepository = sysParmRepository; + _sysParmValueRepository = sysParmValueRepository; } @@ -3214,6 +3223,108 @@ namespace Shentun.Peis.DataMigrations #endregion + #region 迁移系统参数 + + /// + /// 迁移系统参数类别数据 + /// + /// + public async Task TransferSysParmTypeData() + { + var oldSysParmType = await PgDb.Ado.GetDataTableAsync("select * from sys_parm_type "); + + + if (oldSysParmType.Rows.Count > 0) + { + foreach (DataRow row in oldSysParmType.Rows) + { + using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true)) + { + SysParmType data = new SysParmType + { + Id = row["id"].ToString(), + DisplayName = row["display_name"].ToString(), + DisplayOrder = Convert.ToInt32(row["display_order"].ToString()), + ParentId = row["parent_id"].ToString(), + SimpleCode = row["simple_code"].ToString() + }; + + await _sysParmTypeRepository.InsertAsync(data, true); + + await uow.CompleteAsync(); + } + } + } + } + + /// + /// 迁移系统参数数据 + /// + /// + public async Task TransferSysParmData() + { + var oldSysParm = await PgDb.Ado.GetDataTableAsync("select * from sys_parm "); + + + if (oldSysParm.Rows.Count > 0) + { + foreach (DataRow row in oldSysParm.Rows) + { + using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true)) + { + SysParm data = new SysParm + { + Id = row["id"].ToString(), + DisplayName = row["display_name"].ToString(), + DisplayOrder = Convert.ToInt32(row["display_order"].ToString()), + IsPublic = Convert.ToChar(row["is_public"].ToString()), + Remark = row["remark"].ToString(), + ValueType = Convert.ToChar(row["value_type"].ToString()), + SysParmTypeId = row["sys_parm_type_id"].ToString(), + SimpleCode = row["simple_code"].ToString() + }; + + await _sysParmRepository.InsertAsync(data, true); + + await uow.CompleteAsync(); + } + } + } + } + + /// + /// 迁移系统参数值数据 + /// + /// + public async Task TransferSysParmValueData() + { + var oldSysParmValue = await PgDb.Ado.GetDataTableAsync("select * from sys_parm_value where medical_center_id='00000000-0000-0000-0000-000000000000' "); + + + if (oldSysParmValue.Rows.Count > 0) + { + foreach (DataRow row in oldSysParmValue.Rows) + { + using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true)) + { + SysParmValue data = new SysParmValue + { + SysParmId = row["sys_parm_id"].ToString(), + Remark = row["remark"].ToString(), + MedicalCenterId = Guid.Empty, + ParmValue = row["parm_value"].ToString() + }; + + await _sysParmValueRepository.InsertAsync(data, true); + + await uow.CompleteAsync(); + } + } + } + } + + #endregion + private void LoadDLL() { // 定义dll文件夹路径 diff --git a/src/Shentun.Peis.Application/SysParmTypes/SysParmTypeAppService.cs b/src/Shentun.Peis.Application/SysParmTypes/SysParmTypeAppService.cs index ff75bc2..348e57f 100644 --- a/src/Shentun.Peis.Application/SysParmTypes/SysParmTypeAppService.cs +++ b/src/Shentun.Peis.Application/SysParmTypes/SysParmTypeAppService.cs @@ -64,7 +64,8 @@ namespace Shentun.Peis.SysParmTypes DisplayOrder = p.DisplayOrder }; - return GetTree(items.ToList(), null); + + return GetTree(items.ToList(), ""); } /// diff --git a/src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs b/src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs index c93a051..b66c56a 100644 --- a/src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs +++ b/src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs @@ -1916,9 +1916,11 @@ namespace Shentun.Peis.ReportTemplates string Checked_MaleExamineRatio = Register_MaleNumber != 0 ? Math.Round(Checked_MaleNumber * 100M / Register_MaleNumber, 2).ToString() + "%" : "0%"; string Checked_FemaleExamineRatio = Register_FemaleNumber != 0 ? Math.Round(Checked_FemaleNumber * 100M / Register_FemaleNumber, 2).ToString() + "%" : "0%"; string Checked_AverageExamineRatio = Math.Round( - (Register_MaleNumber != 0 ? Math.Round(Checked_MaleNumber * 100M / Register_MaleNumber, 2) : 0 - + Register_FemaleNumber != 0 ? Math.Round(Checked_FemaleNumber * 100M / Register_FemaleNumber, 2) : 0) / 2, 2 - ).ToString() + "%"; + ( + (Register_MaleNumber != 0 ? Math.Round(Checked_MaleNumber * 100M / Register_MaleNumber, 2) : 0) + + (Register_FemaleNumber != 0 ? Math.Round(Checked_FemaleNumber * 100M / Register_FemaleNumber, 2) : 0) + ) / 2 + , 2).ToString() + "%"; documentData.CheckedDetail = new InspectionPersonnel_Detail { @@ -1948,8 +1950,11 @@ namespace Shentun.Peis.ReportTemplates string UnChecked_MaleExamineRatio = Register_MaleNumber != 0 ? Math.Round(UnChecked_MaleNumber * 100M / Register_MaleNumber, 2).ToString() + "%" : "0%"; string UnChecked_FemaleExamineRatio = Register_FemaleNumber != 0 ? Math.Round(UnChecked_FemaleNumber * 100M / Register_FemaleNumber, 2).ToString() + "%" : "0%"; string UnChecked_AverageExamineRatio = Math.Round( - (Register_MaleNumber != 0 ? Math.Round(UnChecked_MaleNumber * 100M / Register_MaleNumber, 2) : 0 - + Register_FemaleNumber != 0 ? Math.Round(UnChecked_FemaleNumber * 100M / Register_FemaleNumber, 2) : 0) / 2, 2).ToString() + "%"; + ( + (Register_MaleNumber != 0 ? Math.Round(UnChecked_MaleNumber * 100M / Register_MaleNumber, 2) : 0) + + (Register_FemaleNumber != 0 ? Math.Round(UnChecked_FemaleNumber * 100M / Register_FemaleNumber, 2) : 0) + ) / 2, 2 + ).ToString() + "%"; documentData.UnCheckedDetail = new InspectionPersonnel_Detail { @@ -2041,8 +2046,8 @@ namespace Shentun.Peis.ReportTemplates FemaleAsbitemCheckRatio = documentData.CheckedDetail.FemaleNumber != 0 ? Math.Round(s.Where(m => m.SexId == SexFlag.Female).Count() * 100M / documentData.CheckedDetail.FemaleNumber, 2) + "%" : "0%", TotalAsbitemCheckRatio = Math.Round( - (documentData.CheckedDetail.MaleNumber != 0 ? Math.Round(s.Where(m => m.SexId == SexFlag.Male).Count() * 100M / documentData.CheckedDetail.MaleNumber, 2) : 0 - + documentData.CheckedDetail.FemaleNumber != 0 ? Math.Round(s.Where(m => m.SexId == SexFlag.Female).Count() * 100M / documentData.CheckedDetail.FemaleNumber, 2) : 0) / 2, 2 + ((documentData.CheckedDetail.MaleNumber != 0 ? Math.Round(s.Where(m => m.SexId == SexFlag.Male).Count() * 100M / documentData.CheckedDetail.MaleNumber, 2) : 0) + + (documentData.CheckedDetail.FemaleNumber != 0 ? Math.Round(s.Where(m => m.SexId == SexFlag.Female).Count() * 100M / documentData.CheckedDetail.FemaleNumber, 2) : 0)) / 2, 2 ) + "%" });