From 7f3e9b5212dc2ea5416065fb5b1a046b254ae045 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Wed, 24 Apr 2024 17:47:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=AF=B9=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Shentun.Peis.sln | 9 +- .../ColumnReferencePlugIns.cs | 11 +- .../ColumnReferencePlugInsAsbitemBase.cs | 17 ++ .../ColumnReferencePlugInsBase.cs | 37 ++++- .../ColumnReferencePlugInsDbBase.cs | 60 +++++++ ...hentun.Peis.ColumnReferencePlugIns.csproj} | 8 + .../ColumnReferencePlugInsDto.cs | 30 ---- .../ColumnReferencePlugInsIdDto.cs | 11 -- .../ColumnReferenceDto.cs} | 19 +-- .../CreateColumnReferenceCDto.cs | 20 +++ .../CreateColumnReferenceDto.cs | 24 +-- .../UpdateColumnReferenceDto.cs} | 21 ++- .../ColumnReferencePlugInsAppservice.cs | 147 ------------------ .../ColumnReferenceAppService.cs | 146 +++++++++++++++-- .../ColumnReferencePlugInsBase.cs | 45 ------ .../ColumnReferencePlugInsGemAsbitem.cs | 90 ----------- .../PeisApplicationAutoMapperProfile.cs | 8 +- .../Shentun.Peis.Application.csproj | 1 + .../ColumnReferencePlugIns.cs | 58 ------- .../ColumnReferencePlugInsManager.cs | 78 ---------- .../ColumnReferences/ColumnReference.cs | 16 +- .../ColumnReferenceManager.cs | 69 ++++++++ .../ColumnReferencePlugInsDbMapping.cs | 32 ---- .../ColumnReferenceDbMapping.cs | 8 +- .../EntityFrameworkCore/PeisDbContext.cs | 2 - .../ColumnReferencePlugInsTest.cs | 98 ------------ .../ColumnReferencePlugInsAsbitemBaseTest.cs | 54 +++++++ ...n.Peis.ColumnReferencePlugIns.Tests.csproj | 51 ++++++ .../UnitTest1.cs | 12 ++ .../appsettings.Development.json | 2 + .../appsettings.json | 45 ++++++ .../appsettings.secrets.json | 2 + 32 files changed, 570 insertions(+), 661 deletions(-) create mode 100644 src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsAsbitemBase.cs create mode 100644 src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsDbBase.cs rename src/Shentun.ColumnReferencePlugIns/{Shentun.ColumnReferencePlugIns.csproj => Shentun.Peis.ColumnReferencePlugIns.csproj} (51%) delete mode 100644 src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsDto.cs delete mode 100644 src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsIdDto.cs rename src/Shentun.Peis.Application.Contracts/{ColumnReferencePlugInss/CreateColumnReferencePlugInsDto.cs => ColumnReferences/ColumnReferenceDto.cs} (58%) create mode 100644 src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceCDto.cs rename src/Shentun.Peis.Application.Contracts/{ColumnReferencePlugInss/UpdateColumnReferencePlugInsDto.cs => ColumnReferences/UpdateColumnReferenceDto.cs} (52%) delete mode 100644 src/Shentun.Peis.Application/ColumnReferencePlugInss/ColumnReferencePlugInsAppservice.cs delete mode 100644 src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsBase.cs delete mode 100644 src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsGemAsbitem.cs delete mode 100644 src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugIns.cs delete mode 100644 src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugInsManager.cs create mode 100644 src/Shentun.Peis.Domain/ColumnReferences/ColumnReferenceManager.cs delete mode 100644 src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferencePlugInses/ColumnReferencePlugInsDbMapping.cs delete mode 100644 test/Shentun.Peis.Application.Tests/ColumnReferencePlugInsTest.cs create mode 100644 test/Shentun.Peis.ColumnReference.Tests/ColumnReferencePlugInsAsbitemBaseTest.cs create mode 100644 test/Shentun.Peis.ColumnReference.Tests/Shentun.Peis.ColumnReferencePlugIns.Tests.csproj create mode 100644 test/Shentun.Peis.ColumnReference.Tests/UnitTest1.cs create mode 100644 test/Shentun.Peis.ColumnReference.Tests/appsettings.Development.json create mode 100644 test/Shentun.Peis.ColumnReference.Tests/appsettings.json create mode 100644 test/Shentun.Peis.ColumnReference.Tests/appsettings.secrets.json diff --git a/Shentun.Peis.sln b/Shentun.Peis.sln index 25f34b2..f2bbe0b 100644 --- a/Shentun.Peis.sln +++ b/Shentun.Peis.sln @@ -39,7 +39,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shentun.Utilities", "src\Sh EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shentun.WebApi.Service", "src\Shentun.WebApi.Service\Shentun.WebApi.Service.csproj", "{77A31E87-AFEB-49F8-B379-44EC0A7A8ABF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shentun.ColumnReferencePlugIns", "src\Shentun.ColumnReferencePlugIns\Shentun.ColumnReferencePlugIns.csproj", "{2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shentun.Peis.ColumnReferencePlugIns", "src\Shentun.ColumnReferencePlugIns\Shentun.Peis.ColumnReferencePlugIns.csproj", "{2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shentun.Peis.ColumnReferencePlugIns.Tests", "test\Shentun.Peis.ColumnReference.Tests\Shentun.Peis.ColumnReferencePlugIns.Tests.csproj", "{DF36172F-76C9-4221-A04A-D73A4D7825BB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -115,6 +117,10 @@ Global {2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D}.Debug|Any CPU.Build.0 = Debug|Any CPU {2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D}.Release|Any CPU.ActiveCfg = Release|Any CPU {2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D}.Release|Any CPU.Build.0 = Release|Any CPU + {DF36172F-76C9-4221-A04A-D73A4D7825BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF36172F-76C9-4221-A04A-D73A4D7825BB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF36172F-76C9-4221-A04A-D73A4D7825BB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF36172F-76C9-4221-A04A-D73A4D7825BB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -137,6 +143,7 @@ Global {D0FD4B06-8B09-4726-B201-224CB4E05195} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {77A31E87-AFEB-49F8-B379-44EC0A7A8ABF} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {2BEBCA90-0F46-4437-AA2C-41C7EFC67A1D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {DF36172F-76C9-4221-A04A-D73A4D7825BB} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} diff --git a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugIns.cs b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugIns.cs index a056122..bb3f0ac 100644 --- a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugIns.cs +++ b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugIns.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Shentun.ColumnReferencePlugIns +namespace Shentun.Peis.ColumnReferencePlugIns { interface IColumnReferencePlugIns { @@ -36,4 +36,13 @@ namespace Shentun.ColumnReferencePlugIns public string DiaplayName { get; set; } public int DisplayOrder { get; set; } } + + public class ColumnReferenceTable + { + public string TableName { get; set; } + public string CodeColumn { get; set; } + public string NameColumn { get; set; } + public string SimpleCodeColumn { get; set; } + public string DisplayOrderColumn { get; set; } + } } diff --git a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsAsbitemBase.cs b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsAsbitemBase.cs new file mode 100644 index 0000000..f53b100 --- /dev/null +++ b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsAsbitemBase.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Shentun.Peis.ColumnReferencePlugIns +{ + public class ColumnReferencePlugInsAsbitemBase: ColumnReferencePlugInsBase + { + public ColumnReferencePlugInsAsbitemBase(string configParm):base(configParm) { } + public override Task> GetCodeValues() + { + return base.GetCodeValues(); + } + } +} diff --git a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsBase.cs b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsBase.cs index 38dc5ee..25fe8fb 100644 --- a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsBase.cs +++ b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsBase.cs @@ -1,21 +1,39 @@ using System; +using System.Collections; using System.Collections.Generic; +using System.Data.Common; using System.Linq; using System.Text; +using System.Text.Json; using System.Threading.Tasks; +using Dapper; using Microsoft.Extensions.Configuration; -namespace Shentun.ColumnReferencePlugIns +using Npgsql; +using Shentun.Utilities; +namespace Shentun.Peis.ColumnReferencePlugIns { public class ColumnReferencePlugInsBase:IColumnReferencePlugIns { - private IConfiguration _config; - public ColumnReferencePlugInsBase() + protected IConfiguration AppConfig; + protected IConfiguration InterfaceConfig; + protected string? ConnctionStr; + protected string AppSql; + + public ColumnReferencePlugInsBase(string configParm) { - _config = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) // 设置基础路径为当前目录 + AppConfig = new ConfigurationBuilder() + .SetBasePath(DirectoryHelper.GetAppDirectory()) // 设置基础路径为当前目录 .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .Build(); + ConnctionStr = AppConfig.GetSection("ConnectionStrings") + .GetSection("Default").Value; + + var configurationBuilder = new ConfigurationBuilder() + .AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(configParm))); + InterfaceConfig = configurationBuilder.Build(); + AppSql = InterfaceConfig.GetSection("App").GetSection("Sql").Value; + } public virtual List GetColumns() { @@ -36,10 +54,11 @@ namespace Shentun.ColumnReferencePlugIns } public virtual async Task> GetCodeValues() { - return new List() + using (DbConnection conn = new NpgsqlConnection(ConnctionStr)) { - - }; + var list = (await conn.QueryAsync(AppSql)).ToList(); + return list; + } } public virtual async Task> GetInterfaceCodeValues() @@ -59,5 +78,7 @@ namespace Shentun.ColumnReferencePlugIns { return null; } + + } } diff --git a/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsDbBase.cs b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsDbBase.cs new file mode 100644 index 0000000..8ac8a76 --- /dev/null +++ b/src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsDbBase.cs @@ -0,0 +1,60 @@ +using Dapper; +using Microsoft.Data.SqlClient; +using Npgsql; +using Oracle.ManagedDataAccess.Client; +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Shentun.Peis.ColumnReferencePlugIns +{ + public class ColumnReferencePlugInsDbBase: ColumnReferencePlugInsBase + { + protected string InterfaceSql; + protected string InterfaceDbType; + protected string? InterfaceConnctionStr; + public ColumnReferencePlugInsDbBase(string configParm):base(configParm) + { + InterfaceSql = InterfaceConfig.GetSection("Interface").GetSection("Sql").Value; + InterfaceDbType = InterfaceConfig.GetSection("Interface").GetSection("DbType").Value; + InterfaceConnctionStr = InterfaceConfig.GetSection("Interface").GetSection("ConnectionStrings").Value; + } + protected DbConnection CreateInterfaceDbConnect() + { + DbConnection conn ; + if (string.IsNullOrWhiteSpace(InterfaceConnctionStr)) + { + throw new ArgumentException("数据连接设置中的DbType不能为空"); + } + if (InterfaceDbType == "SqlServer") + { + conn = new SqlConnection(InterfaceConnctionStr); + } + else if (InterfaceDbType == "PostGres") + { + conn = new NpgsqlConnection(InterfaceConnctionStr); + } + else if (InterfaceDbType == "Oracle") + { + conn = new OracleConnection(InterfaceConnctionStr); + } + else + { + throw new ArgumentException("数据连接设置中的DbType不支持"); + } + return conn; + } + + public override async Task> GetInterfaceCodeValues() + { + using (DbConnection conn = CreateInterfaceDbConnect()) + { + var list = (await conn.QueryAsync(InterfaceSql)).ToList(); + return list; + } + } + } +} diff --git a/src/Shentun.ColumnReferencePlugIns/Shentun.ColumnReferencePlugIns.csproj b/src/Shentun.ColumnReferencePlugIns/Shentun.Peis.ColumnReferencePlugIns.csproj similarity index 51% rename from src/Shentun.ColumnReferencePlugIns/Shentun.ColumnReferencePlugIns.csproj rename to src/Shentun.ColumnReferencePlugIns/Shentun.Peis.ColumnReferencePlugIns.csproj index 069e1e5..8dcff9c 100644 --- a/src/Shentun.ColumnReferencePlugIns/Shentun.ColumnReferencePlugIns.csproj +++ b/src/Shentun.ColumnReferencePlugIns/Shentun.Peis.ColumnReferencePlugIns.csproj @@ -7,8 +7,16 @@ + + + + + + + + diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsDto.cs deleted file mode 100644 index 74749d1..0000000 --- a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsDto.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Shentun.Peis.ColumnReferencePlugInss -{ - public class ColumnReferencePlugInsDto:AuditedEntityDtoName - { - /// - /// 名称 - /// - public string DisplayName { get; set; } - /// - /// 显示顺序 - /// - public int DisplayOrder { get; set; } - /// - /// Dll名称 - /// - public string AssemblyName { get; set; } - /// - /// 类名 - /// - public string ClassName { get; set; } - /// - /// 配置参数 - /// - public string ParmValue { get; set; } - } -} diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsIdDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsIdDto.cs deleted file mode 100644 index 6d8aec1..0000000 --- a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsIdDto.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Shentun.Peis.ColumnReferencePlugInss -{ - public class ColumnReferencePlugInsIdDto - { - public string Id { get; set; } - } -} diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/CreateColumnReferencePlugInsDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferences/ColumnReferenceDto.cs similarity index 58% rename from src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/CreateColumnReferencePlugInsDto.cs rename to src/Shentun.Peis.Application.Contracts/ColumnReferences/ColumnReferenceDto.cs index 854a788..9e712fa 100644 --- a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/CreateColumnReferencePlugInsDto.cs +++ b/src/Shentun.Peis.Application.Contracts/ColumnReferences/ColumnReferenceDto.cs @@ -4,26 +4,23 @@ using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System.Text; -namespace Shentun.Peis.ColumnReferencePlugInss +namespace Shentun.Peis.ColumnReferences { - public class CreateColumnReferencePlugInsDto + public class ColumnReferenceDto : AuditedEntityDtoName { /// /// 名称 /// public string DisplayName { get; set; } /// - /// 显示顺序 - /// - public int DisplayOrder { get; set; } - /// - /// Dll名称 - /// - public string AssemblyName { get; set; } - public string ClassName { get; set; } - /// /// 配置参数 /// + [Column("parm_value")] + [StringLength(1000)] public string ParmValue { get; set; } + + + [Column("display_order")] + public int DisplayOrder { get; set; } } } diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceCDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceCDto.cs new file mode 100644 index 0000000..e99db87 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceCDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Shentun.Peis.ColumnReferences +{ + public class CreateColumnReferenceCDto + { + public Guid ColumnReferenceId { get; set; } + public List ColumnReferenceValues { get; set; } + } + + public class CreateColumnReferenceValue + { + public string CodeValue { get; set; } + public string InterfaceCodeValue { get; set; } + } +} diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceDto.cs index d54dcc1..bca7c0e 100644 --- a/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceDto.cs +++ b/src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceDto.cs @@ -1,20 +1,26 @@ using System; using System.Collections.Generic; -using System.Linq; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; using System.Text; -using System.Threading.Tasks; namespace Shentun.Peis.ColumnReferences { public class CreateColumnReferenceDto { - public Guid ColumnReferenceId { get; set; } - public List ColumnReferenceValues { get; set; } - } + /// + /// 名称 + /// + public string DisplayName { get; set; } + /// + /// 配置参数 + /// + [Column("parm_value")] + [StringLength(1000)] + public string ParmValue { get; set; } - public class CreateColumnReferenceValue - { - public string CodeValue { get; set; } - public string InterfaceCodeValue { get; set; } + + [Column("display_order")] + public int DisplayOrder { get; set; } } } diff --git a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/UpdateColumnReferencePlugInsDto.cs b/src/Shentun.Peis.Application.Contracts/ColumnReferences/UpdateColumnReferenceDto.cs similarity index 52% rename from src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/UpdateColumnReferencePlugInsDto.cs rename to src/Shentun.Peis.Application.Contracts/ColumnReferences/UpdateColumnReferenceDto.cs index 3f97f3a..4bdb856 100644 --- a/src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/UpdateColumnReferencePlugInsDto.cs +++ b/src/Shentun.Peis.Application.Contracts/ColumnReferences/UpdateColumnReferenceDto.cs @@ -1,27 +1,26 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; using System.Text; -namespace Shentun.Peis.ColumnReferencePlugInss +namespace Shentun.Peis.ColumnReferences { - public class UpdateColumnReferencePlugInsDto + public class UpdateColumnReferenceDto { /// /// 名称 /// public string DisplayName { get; set; } /// - /// 显示顺序 - /// - public int DisplayOrder { get; set; } - /// - /// Dll名称 - /// - public string AssemblyName { get; set; } - public string ClassName { get; set; } - /// /// 配置参数 /// + [Column("parm_value")] + [StringLength(1000)] public string ParmValue { get; set; } + + + [Column("display_order")] + public int DisplayOrder { get; set; } } } diff --git a/src/Shentun.Peis.Application/ColumnReferencePlugInss/ColumnReferencePlugInsAppservice.cs b/src/Shentun.Peis.Application/ColumnReferencePlugInss/ColumnReferencePlugInsAppservice.cs deleted file mode 100644 index 83a876a..0000000 --- a/src/Shentun.Peis.Application/ColumnReferencePlugInss/ColumnReferencePlugInsAppservice.cs +++ /dev/null @@ -1,147 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Shentun.Peis.CardTypes; -using Shentun.Peis.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Identity; -using Volo.Abp.ObjectMapping; -using Volo.Abp.Users; - -namespace Shentun.Peis.ColumnReferencePlugInss -{ - public class ColumnReferencePlugInsAppservice : CrudAppService< - ColumnReferencePlugIns, //The Book entity - ColumnReferencePlugInsDto, //Used to show books - Guid, //Primary key of the book entity - PagedAndSortedResultRequestDto, //Used for paging/sorting - CreateColumnReferencePlugInsDto, - UpdateColumnReferencePlugInsDto> - { - private readonly IRepository _columnReferencePlugInsRepository; - private readonly ColumnReferencePlugInsManager _manager; - private readonly CacheService _cacheService; - private readonly IRepository _userRepository; - public ColumnReferencePlugInsAppservice( - IRepository columnReferencePlugInsRepository, - ColumnReferencePlugInsManager manager, - CacheService cacheService, - IRepository userRepository) : base(columnReferencePlugInsRepository) - { - _columnReferencePlugInsRepository = columnReferencePlugInsRepository; - _manager = manager; - _cacheService = cacheService; - _userRepository = userRepository; - } - - /// - /// 根据ID查实体内容 - /// - /// - /// - [HttpGet("api/app/ColumnReferencePlugIns/get")] - public override async Task GetAsync(Guid id) - { - - var entityDto = await base.GetAsync(id); - entityDto.CreatorName = _cacheService.GetUserNameAsync(entityDto.CreatorId).Result; - entityDto.LastModifierName = _cacheService.GetUserNameAsync(entityDto.LastModifierId).Result; - - return entityDto; - } - - [RemoteService(false)] - public override Task> GetListAsync(PagedAndSortedResultRequestDto input) - { - return base.GetListAsync(input); - } - - /// - /// 查询列表 - /// - /// - [HttpGet("api/app/ColumnReferencePlugIns/GetColumnReferencePlugInsList")] - public async Task> GetColumnReferencePlugInsListAsync() - { - var userQueryable = await _userRepository.GetQueryableAsync(); - - var entlist = (from a in await _columnReferencePlugInsRepository.GetQueryableAsync() - join b in userQueryable on a.CreatorId equals b.Id into bb - from ab in bb.DefaultIfEmpty() - join c in userQueryable on a.LastModifierId equals c.Id into cc - from ac in cc.DefaultIfEmpty() - select new - { - a, - CreatorName = ab != null ? ab.UserName : "", - LastModifierName = ac != null ? ac.UserName : "" - - }) - .Select(s => new ColumnReferencePlugInsDto - { - CreationTime = s.a.CreationTime, - CreatorId = s.a.CreatorId, - LastModifierId = s.a.LastModifierId, - Id = s.a.Id, - DisplayOrder = s.a.DisplayOrder, - DisplayName = s.a.DisplayName, - AssemblyName = s.a.DisplayName, - ClassName = s.a.ClassName, - LastModificationTime = s.a.LastModificationTime, - CreatorName = s.CreatorName, - LastModifierName = s.LastModifierName - }).ToList(); - - return entlist; - } - - /// - /// 创建 - /// - /// - /// - [HttpPost("api/app/ColumnReferencePlugIns/Create")] - public override async Task CreateAsync(CreateColumnReferencePlugInsDto input) - { - var createEntity = ObjectMapper.Map(input); - var entity = await _manager.CreateAsync(createEntity); - entity = await Repository.InsertAsync(entity); - var dto = ObjectMapper.Map(entity); - return dto; - } - - /// - /// 修改 - /// - /// - /// - /// - [HttpPost("api/app/ColumnReferencePlugIns/Update")] - public override async Task UpdateAsync(Guid id, UpdateColumnReferencePlugInsDto input) - { - var entity = await Repository.GetAsync(id); - var sourceEntity = ObjectMapper.Map(input); - await _manager.UpdateAsync(sourceEntity, entity); - entity = await Repository.UpdateAsync(entity); - return ObjectMapper.Map(entity); - } - - /// - /// 删除 - /// - /// - /// - [HttpPost("api/app/ColumnReferencePlugIns/Delete")] - public override async Task DeleteAsync(Guid id) - { - var entity = await Repository.GetAsync(id); - await _manager.CheckAndDeleteAsync(entity); - } - } -} diff --git a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs index e21438b..b39c1b5 100644 --- a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs +++ b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs @@ -12,33 +12,161 @@ using Volo.Abp; using Shentun.Peis.Models; using Microsoft.AspNetCore.Authorization; using NPOI.SS.UserModel; -using Shentun.Peis.ColumnReferencePlugInss; using System.Reflection; using NUglify.JavaScript.Syntax; using System.Collections; using System.Linq.Dynamic.Core; +using SqlSugar; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Users; +using Volo.Abp.ObjectMapping; +using Microsoft.Extensions.Configuration; +using System.IO; +using Shentun.Peis.ColumnReferencePlugIns; namespace Shentun.Peis.ColumnReferences { [ApiExplorerSettings(GroupName = "Work")] [Authorize] - public class ColumnReferenceAppService : ApplicationService + public class ColumnReferenceAppService : CrudAppService< + ColumnReference, //The Book entity + ColumnReferenceDto, //Used to show books + Guid, //Primary key of the book entity + PagedAndSortedResultRequestDto, //Used for paging/sorting + CreateColumnReferenceDto, + UpdateColumnReferenceDto> { - public readonly IRepository _repository; - public readonly IRepository _columnReferencePlugInsRepository; + private readonly IRepository _repository; + private readonly ColumnReferenceManager _manager; + private readonly CacheService _cacheService; + private readonly IRepository _userRepository; + public ColumnReferenceAppService(IRepository repository, - IRepository columnReferencePlugInsRepository) + ColumnReferenceManager manager, + CacheService cacheService, + IRepository userRepository + ):base(repository) { _repository = repository; - _columnReferencePlugInsRepository = columnReferencePlugInsRepository; + _manager = manager; + _cacheService = cacheService; + _userRepository = userRepository; + + } + + /// + /// 根据ID查实体内容 + /// + /// + /// + [HttpGet("api/app/ColumnReference/get")] + public override async Task GetAsync(Guid id) + { + + var entityDto = await base.GetAsync(id); + entityDto.CreatorName = _cacheService.GetUserNameAsync(entityDto.CreatorId).Result; + entityDto.LastModifierName = _cacheService.GetUserNameAsync(entityDto.LastModifierId).Result; + + return entityDto; + } + + [RemoteService(false)] + public override Task> GetListAsync(PagedAndSortedResultRequestDto input) + { + return base.GetListAsync(input); + } + + /// + /// 查询列表 + /// + /// + [HttpGet("api/app/ColumnReference/GetColumnReferenceList")] + public async Task> GetColumnReferenceListAsync() + { + var userQueryable = await _userRepository.GetQueryableAsync(); + + var entlist = (from a in await _repository.GetQueryableAsync() + join b in userQueryable on a.CreatorId equals b.Id into bb + from ab in bb.DefaultIfEmpty() + join c in userQueryable on a.LastModifierId equals c.Id into cc + from ac in cc.DefaultIfEmpty() + select new + { + a, + CreatorName = ab != null ? ab.UserName : "", + LastModifierName = ac != null ? ac.UserName : "" + + }) + .Select(s => new ColumnReferenceDto + { + CreationTime = s.a.CreationTime, + CreatorId = s.a.CreatorId, + LastModifierId = s.a.LastModifierId, + Id = s.a.Id, + DisplayOrder = s.a.DisplayOrder, + DisplayName = s.a.DisplayName, + ParmValue = s.a.ParmValue, + LastModificationTime = s.a.LastModificationTime, + CreatorName = s.CreatorName, + LastModifierName = s.LastModifierName + }).ToList(); + + return entlist; + } + + /// + /// 创建 + /// + /// + /// + [HttpPost("api/app/ColumnReference/Create")] + public override async Task CreateAsync(CreateColumnReferenceDto input) + { + var createEntity = ObjectMapper.Map(input); + var entity = await _manager.CreateAsync(createEntity); + entity = await Repository.InsertAsync(entity); + var dto = ObjectMapper.Map(entity); + return dto; + } + + /// + /// 修改 + /// + /// + /// + /// + [HttpPost("api/app/ColumnReference/Update")] + public override async Task UpdateAsync(Guid id, UpdateColumnReferenceDto input) + { + var entity = await Repository.GetAsync(id); + var sourceEntity = ObjectMapper.Map(input); + await _manager.UpdateAsync(sourceEntity, entity); + entity = await Repository.UpdateAsync(entity); + return ObjectMapper.Map(entity); + } + + /// + /// 删除 + /// + /// + /// + [HttpPost("api/app/ColumnReference/Delete")] + public override async Task DeleteAsync(Guid id) + { + var entity = await Repository.GetAsync(id); + await _manager.CheckAndDeleteAsync(entity); } - public async Task> GetColumns(ColumnReferenceIdInputDto input) { var entity = await _repository.GetAsync(input.Id); - var columnReferencePlugIns = await _columnReferencePlugInsRepository.GetAsync(entity.ColumnReferencePlugInsId); - object objectValue= Invoke(columnReferencePlugIns.AssemblyName, columnReferencePlugIns.ClassName, "GetColumns"); + var parmValue = entity.ParmValue; + var configurationBuilder = new ConfigurationBuilder() + .AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue))); + var config = configurationBuilder.Build(); + var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value; + var className = config.GetSection("Interface").GetSection("ClassName").Value; + object objectValue= Invoke(assemblyName, className, "GetColumns"); List list = new List(); if (objectValue is IEnumerable enumerableObject) diff --git a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsBase.cs b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsBase.cs deleted file mode 100644 index eedda6e..0000000 --- a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsBase.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Shentun.Peis.ColumnReferences -{ - interface IColumnReferencePlugIns - { - public List GetColumns(); - public string GetFilterColumnName(); - public List GetInterfaceColumns(); - public Task> GetCodeValues(); - public Task> GetFilterCodeValues(); - public Task> GetInterfaceCodeValues(); - } - - - public class ColumnReferencePlugInsSet - { - public Guid Id { get; set; } - public string DisplayName { get; set; } - } - public class ColumnReferenceCodeValue - { - public string Code { get; set; } - public string DisplayName { get; set; } - public string FilterCode { get; set; } - public string Exter1 { get; set; } - public string Exter2 { get; set; } - public string Exter3 { get; set; } - public string Exter4 { get; set; } - public string Exter5 { get; set; } - public int DisplayOrder { get; set; } - } - - public class ColumnReferenceFilterCodeValue - { - public string Code { get; set; } - public string DiaplayName { get; set; } - public int DisplayOrder { get; set; } - } - -} diff --git a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsGemAsbitem.cs b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsGemAsbitem.cs deleted file mode 100644 index a30aa75..0000000 --- a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsGemAsbitem.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Shentun.Peis.ColumnReferences -{ - public class ColumnReferencePlugInsGemAsbitem: IColumnReferencePlugIns - { - public List GetColumns() - { - return new List - { - "编码", - "名称", - "规格" - }; - } - - public List GetInterfaceColumns() - { - return new List - { - "编码", - "名称", - "规格" - }; - } - public async Task> GetCodeValues() - { - return new List() - { - new ColumnReferenceCodeValue() - { - Code = "001", - DisplayName = "血常规", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "002", - DisplayName = "腹部彩超", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "内科", - DisplayName = "血常规", - Exter1 = "一次" - } - }; - } - - public async Task> GetInterfaceCodeValues() - { - return new List() - { - new ColumnReferenceCodeValue() - { - Code = "001", - DisplayName = "血常规", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "002", - DisplayName = "腹部彩超", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "内科", - DisplayName = "血常规", - Exter1 = "一次" - } - }; - } - - public async Task> GetFilterCodeValues() - { - throw new NotImplementedException(); - } - - public string GetFilterColumnName() - { - return null; - } - } -} diff --git a/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs b/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs index 4284654..2ce1987 100644 --- a/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs +++ b/src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs @@ -6,7 +6,7 @@ using Shentun.Peis.BirthPlaces; using Shentun.Peis.Books; using Shentun.Peis.CardRegisters; using Shentun.Peis.CardTypes; -using Shentun.Peis.ColumnReferencePlugInss; +using Shentun.Peis.ColumnReferences; using Shentun.Peis.CommonChars; using Shentun.Peis.CommonCharTypes; using Shentun.Peis.ContactMethods; @@ -444,9 +444,9 @@ public class PeisApplicationAutoMapperProfile : Profile CreateMap(); CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); } diff --git a/src/Shentun.Peis.Application/Shentun.Peis.Application.csproj b/src/Shentun.Peis.Application/Shentun.Peis.Application.csproj index 52ddae2..25f47a3 100644 --- a/src/Shentun.Peis.Application/Shentun.Peis.Application.csproj +++ b/src/Shentun.Peis.Application/Shentun.Peis.Application.csproj @@ -19,6 +19,7 @@ + diff --git a/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugIns.cs b/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugIns.cs deleted file mode 100644 index 275ab71..0000000 --- a/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugIns.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; -using Volo.Abp.Domain.Entities; -using System.ComponentModel.DataAnnotations; - -namespace Shentun.Peis.Models -{ - /// - /// 字段对照插件表 - /// - [Table("column_reference_plug_ins")] - public class ColumnReferencePlugIns : AuditedEntity, IDisplayName, IHasConcurrencyStamp, IDisplayOrder - { - public ColumnReferencePlugIns() { } - public ColumnReferencePlugIns(Guid id):base(id) { } - /// - /// 名称 - /// - [Column("display_name")] - [StringLength(30)] - public string DisplayName { get; set; } - /// - /// 显示顺序 - /// - [Column("display_order")] - public int DisplayOrder { get; set; } - /// - /// Dll名称 - /// - [Column("assembly_name")] - [StringLength(100)] - public string AssemblyName { get; set; } - - [Column("class_name")] - [StringLength(100)] - public string ClassName { get; set; } - /// - /// 配置参数 - /// - [Column("parm_value")] - [StringLength(500)] - public string ParmValue { get; set; } - - - - [Column("concurrency_stamp")] - public string ConcurrencyStamp { get; set; } - - - public virtual ICollection ColumnReferences { get; set; } - - } -} diff --git a/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugInsManager.cs b/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugInsManager.cs deleted file mode 100644 index fc7a5fe..0000000 --- a/src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugInsManager.cs +++ /dev/null @@ -1,78 +0,0 @@ -using Shentun.Peis.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Domain.Services; - -namespace Shentun.Peis.ColumnReferencePlugInss -{ - public class ColumnReferencePlugInsManager : DomainService - { - private readonly IRepository _repository; - private readonly IRepository _columnReferenceRepository; - public ColumnReferencePlugInsManager( - IRepository repository, - IRepository columnReferenceRepository - ) - { - _repository = repository; - _columnReferenceRepository = columnReferenceRepository; - } - - /// - /// 创建 - /// - /// - /// - public async Task CreateAsync( - ColumnReferencePlugIns entity - ) - { - DataHelper.CheckEntityIsNull(entity); - //Verify(entity); - await EntityHelper.CheckSameName(_repository, entity.DisplayName); - return new ColumnReferencePlugIns( - GuidGenerator.Create() - ) - { - DisplayName = entity.DisplayName, - DisplayOrder = await EntityHelper.CreateMaxDisplayOrder(_repository), - - }; - } - - public async Task UpdateAsync( - ColumnReferencePlugIns sourceEntity, - ColumnReferencePlugIns targetEntity - ) - { - DataHelper.CheckEntityIsNull(sourceEntity); - DataHelper.CheckEntityIsNull(targetEntity); - if (sourceEntity.DisplayName != targetEntity.DisplayName) - { - await EntityHelper.CheckSameName(_repository, sourceEntity.DisplayName, targetEntity); - targetEntity.DisplayName = sourceEntity.DisplayName; - } - targetEntity.ParmValue = sourceEntity.ParmValue; - targetEntity.AssemblyName = sourceEntity.AssemblyName; - targetEntity.ClassName = sourceEntity.ClassName; - } - - public async Task CheckAndDeleteAsync(ColumnReferencePlugIns entity) - { - - var queryable = await _columnReferenceRepository.GetQueryableAsync(); - var item = queryable.Where(o => o.ColumnReferencePlugInsId.Equals(entity.Id)).FirstOrDefault(); - if (item != null) - { - throw new UserFriendlyException("", $"插件\"{entity.DisplayName}\"已在字段对照中\"{item.DisplayName}\"中使用,不能删除"); - } - - await _repository.DeleteAsync(entity); - } - } -} diff --git a/src/Shentun.Peis.Domain/ColumnReferences/ColumnReference.cs b/src/Shentun.Peis.Domain/ColumnReferences/ColumnReference.cs index 07c8b1b..ad1840a 100644 --- a/src/Shentun.Peis.Domain/ColumnReferences/ColumnReference.cs +++ b/src/Shentun.Peis.Domain/ColumnReferences/ColumnReference.cs @@ -11,14 +11,14 @@ using Shentun.Peis.Models; namespace Shentun.Peis.Models { - - /// /// 字段对照主表 /// [Table("column_reference")] public class ColumnReference : AuditedEntity, IDisplayName, IHasConcurrencyStamp,IDisplayOrder { + public ColumnReference() { } + public ColumnReference(Guid id):base(id) { } /// /// 名称 /// @@ -27,10 +27,12 @@ namespace Shentun.Peis.Models public string DisplayName { get; set; } /// - /// 插件ID + /// 配置参数 /// - [Column("column_reference_plug_ins_id")] - public Guid ColumnReferencePlugInsId { get; set; } + [Column("parm_value")] + [StringLength(1000)] + public string ParmValue { get; set; } + [Column("display_order")] public int DisplayOrder { get; set; } @@ -38,10 +40,6 @@ namespace Shentun.Peis.Models [Column("concurrency_stamp")] public string ConcurrencyStamp { get; set; } - - [ForeignKey(nameof(ColumnReferencePlugInsId))] - public virtual ColumnReferencePlugIns ColumnReferencePlugIns { get; set; } - public virtual ICollection ColumnReferenceCodes { get; set; } } } diff --git a/src/Shentun.Peis.Domain/ColumnReferences/ColumnReferenceManager.cs b/src/Shentun.Peis.Domain/ColumnReferences/ColumnReferenceManager.cs new file mode 100644 index 0000000..fdc8c34 --- /dev/null +++ b/src/Shentun.Peis.Domain/ColumnReferences/ColumnReferenceManager.cs @@ -0,0 +1,69 @@ +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; +using Volo.Abp.Domain.Services; + +namespace Shentun.Peis.ColumnReferences +{ + public class ColumnReferenceManager: DomainService + { + private readonly IRepository _repository; + public ColumnReferenceManager( + IRepository repository + ) + { + _repository = repository; + } + + /// + /// 创建 + /// + /// + /// + public async Task CreateAsync( + ColumnReference entity + ) + { + DataHelper.CheckEntityIsNull(entity); + //Verify(entity); + await EntityHelper.CheckSameName(_repository, entity.DisplayName); + return new ColumnReference( + GuidGenerator.Create() + ) + { + DisplayName = entity.DisplayName, + ParmValue = entity.ParmValue, + DisplayOrder = await EntityHelper.CreateMaxDisplayOrder(_repository), + + }; + } + + public async Task UpdateAsync( + ColumnReference sourceEntity, + ColumnReference targetEntity + ) + { + DataHelper.CheckEntityIsNull(sourceEntity); + DataHelper.CheckEntityIsNull(targetEntity); + if (sourceEntity.DisplayName != targetEntity.DisplayName) + { + await EntityHelper.CheckSameName(_repository, sourceEntity.DisplayName, targetEntity); + targetEntity.DisplayName = sourceEntity.DisplayName; + } + targetEntity.ParmValue = sourceEntity.ParmValue; + } + + public async Task CheckAndDeleteAsync(ColumnReference entity) + { + + + + await _repository.DeleteAsync(entity); + } + } +} diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferencePlugInses/ColumnReferencePlugInsDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferencePlugInses/ColumnReferencePlugInsDbMapping.cs deleted file mode 100644 index 0fd156a..0000000 --- a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferencePlugInses/ColumnReferencePlugInsDbMapping.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Microsoft.EntityFrameworkCore; -using Shentun.Peis.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Shentun.Peis.EntityFrameworkCore; - -namespace Shentun.Peis.DbMapping -{ - internal class ColumnReferencePlugInsDbMapping : IEntityTypeConfiguration - { - public void Configure(EntityTypeBuilder entity) - { - entity.HasComment("字段对照插件表"); - entity.Property(t => t.DisplayName).HasComment("名称").IsRequired(); - entity.Property(t => t.AssemblyName).HasComment("Assembly名称").IsRequired(); - entity.Property(t => t.ClassName).HasComment("Class名称").IsRequired(); - entity.Property(t => t.ParmValue).HasComment("配置参数"); - entity.Property(t => t.DisplayOrder).HasComment("显示顺序").IsRequired(); - - - entity.Property(e => e.Id) - .IsFixedLength() - .HasComment("编号").HasColumnName("id"); - - entity.ConfigureByConvention(); - } - } -} diff --git a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferences/ColumnReferenceDbMapping.cs b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferences/ColumnReferenceDbMapping.cs index 4f48935..868c7bd 100644 --- a/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferences/ColumnReferenceDbMapping.cs +++ b/src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferences/ColumnReferenceDbMapping.cs @@ -18,19 +18,13 @@ namespace Shentun.Peis.DbMapping { entity.HasComment("字段对照主表"); entity.Property(t => t.DisplayName).HasComment("名称").IsRequired(); - entity.Property(t => t.ColumnReferencePlugInsId).HasComment("插件ID").IsRequired(); entity.Property(t => t.DisplayOrder).HasComment("显示顺序").IsRequired(); entity.Property(e => e.Id) .IsFixedLength() .HasComment("编号").HasColumnName("id"); - entity.HasOne(d => d.ColumnReferencePlugIns) - .WithMany(p => p.ColumnReferences) - .HasForeignKey(d => d.ColumnReferencePlugInsId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("fk_columnreference_columnreferenceplugins"); - + entity.ConfigureByConvention(); } diff --git a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs index 880a127..55042d3 100644 --- a/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs +++ b/src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs @@ -308,7 +308,6 @@ public class PeisDbContext : #region 字段对照 public DbSet FieldComparisons { get; set; } = null!; - public DbSet ColumnReferencePlugInses { get; set; } = null!; public DbSet ColumnReferences { get; set; } = null!; public DbSet ColumnReferenceCodes { get; set; } = null!; public DbSet ColumnReferenceInterfaces { get; set; } = null!; @@ -537,7 +536,6 @@ public class PeisDbContext : .ApplyConfiguration(new RoleMenuInfoDbMapping()) .ApplyConfiguration(new MenuInfoDbMapping()) .ApplyConfiguration(new FieldComparisonDbMapping()) - .ApplyConfiguration(new ColumnReferencePlugInsDbMapping()) .ApplyConfiguration(new ColumnReferenceDbMapping()) .ApplyConfiguration(new ColumnReferenceCodeDbMapping()) .ApplyConfiguration(new ColumnReferenceInterfaceDbMapping()); diff --git a/test/Shentun.Peis.Application.Tests/ColumnReferencePlugInsTest.cs b/test/Shentun.Peis.Application.Tests/ColumnReferencePlugInsTest.cs deleted file mode 100644 index 00a0f2e..0000000 --- a/test/Shentun.Peis.Application.Tests/ColumnReferencePlugInsTest.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Shentun.Peis.ColumnReferences; - -namespace Shentun.Peis -{ - - public class ColumnReferencePlugInsTest: IColumnReferencePlugIns - { - public List GetColumns() - { - return new List - { - "编码", - "名称", - "规格" - }; - } - - public List GetInterfaceColumns() - { - return new List - { - "编码", - "名称", - "规格" - }; - } - public async Task> GetCodeValues() - { - return new List() - { - new ColumnReferenceCodeValue() - { - Code = "001", - DisplayName = "血常规", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "002", - DisplayName = "腹部彩超", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "内科", - DisplayName = "血常规", - Exter1 = "一次" - } - }; - } - - public async Task> GetInterfaceCodeValues() - { - return new List() - { - new ColumnReferenceCodeValue() - { - Code = "001", - DisplayName = "血常规", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "002", - DisplayName = "腹部彩超", - Exter1 = "一次" - }, - new ColumnReferenceCodeValue() - { - Code = "内科", - DisplayName = "血常规", - Exter1 = "一次" - } - }; - } - - public async Task> GetFilterCodeValues() - { - throw new NotImplementedException(); - } - - public string GetFilterColumnName() - { - return null; - } - } - public class Column - { - public string ColumnId { get; set; } - public string ColumnName { get; set; } - } - -} diff --git a/test/Shentun.Peis.ColumnReference.Tests/ColumnReferencePlugInsAsbitemBaseTest.cs b/test/Shentun.Peis.ColumnReference.Tests/ColumnReferencePlugInsAsbitemBaseTest.cs new file mode 100644 index 0000000..18a2c7a --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/ColumnReferencePlugInsAsbitemBaseTest.cs @@ -0,0 +1,54 @@ +using Microsoft.Extensions.Configuration; +using NPOI.OpenXmlFormats.Dml; +using Shentun.Peis.ColumnReferencePlugIns; +using Shentun.Utilities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit.Abstractions; + +namespace Shentun.Peis.ColumnReferencePlugIns.Tests +{ + public class ColumnReferencePlugInsAsbitemBaseTest + { + private readonly ITestOutputHelper _output; + public ColumnReferencePlugInsAsbitemBaseTest(ITestOutputHelper testOutputHelper) + { + _output = testOutputHelper; + + } + [Fact] + public async Task GetCodeValues() + { + string configParm; + string filePath = DirectoryHelper.GetAppDirectory() + "/appsettings.json"; + configParm = File.ReadAllText(filePath); + + var columnReferencePlugInsBase = new ColumnReferencePlugInsBase(configParm); + var items = await columnReferencePlugInsBase.GetCodeValues(); + foreach ( var item in items ) + { + _output.WriteLine(item.Code + item.DisplayName); + } + + } + + [Fact] + public async Task GetInterfaceCodeValues() + { + string configParm; + string filePath = DirectoryHelper.GetAppDirectory() + "/appsettings.json"; + configParm = File.ReadAllText(filePath); + + var columnReferencePlugInsBase = new ColumnReferencePlugInsDbBase(configParm); + var items = await columnReferencePlugInsBase.GetInterfaceCodeValues(); + foreach (var item in items) + { + _output.WriteLine(item.Code + item.DisplayName); + } + + } + } +} diff --git a/test/Shentun.Peis.ColumnReference.Tests/Shentun.Peis.ColumnReferencePlugIns.Tests.csproj b/test/Shentun.Peis.ColumnReference.Tests/Shentun.Peis.ColumnReferencePlugIns.Tests.csproj new file mode 100644 index 0000000..072ecff --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/Shentun.Peis.ColumnReferencePlugIns.Tests.csproj @@ -0,0 +1,51 @@ + + + + net6.0 + enable + enable + + false + true + + + + + + + + + + + PreserveNewest + true + PreserveNewest + + + PreserveNewest + true + PreserveNewest + + + PreserveNewest + true + PreserveNewest + + + + + + + + + + + + + + + + + + + diff --git a/test/Shentun.Peis.ColumnReference.Tests/UnitTest1.cs b/test/Shentun.Peis.ColumnReference.Tests/UnitTest1.cs new file mode 100644 index 0000000..80e93f2 --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/UnitTest1.cs @@ -0,0 +1,12 @@ + +namespace Shentun.Peis.ColumnReference.Tests +{ + public class UnitTest1 + { + [Fact] + public void Test1() + { + + } + } +} \ No newline at end of file diff --git a/test/Shentun.Peis.ColumnReference.Tests/appsettings.Development.json b/test/Shentun.Peis.ColumnReference.Tests/appsettings.Development.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/appsettings.Development.json @@ -0,0 +1,2 @@ +{ +} diff --git a/test/Shentun.Peis.ColumnReference.Tests/appsettings.json b/test/Shentun.Peis.ColumnReference.Tests/appsettings.json new file mode 100644 index 0000000..e04ea8f --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/appsettings.json @@ -0,0 +1,45 @@ +{ + + "App": { + "SelfUrl": "http://localhost:9530", + "ClientUrl": "http://localhost:9530", + "CorsOrigins": "https://*.Peis.com,http://localhost:4200,http://localhost:9530,http://192.168.1.108:9530,http://localhost:8080,http://localhost:8081", + "RedirectAllowedUrls": "http://localhost:9530", + "Sql": "select id::varchar as Code ,display_name as DisplayName ,simple_code as SimpleCode ,display_order as DisplayOrder from asbitem" + }, + "Interface": { + "DbType": "SqlServer", + "ConnectionStrings": "Server=.;Database=mypeis_wyy;User ID=sa;Password=shentun;Application Name=mypeis;Encrypt=False;TrustServerCertificate=True", + "Sql": "select asbitem_id as Code ,asbitem_name as DisplayName from asbitem" + }, + "ConnectionStrings": { + "Default": "Host=140.143.162.39;Port=5432;Database=ShentunPeis070703;User ID=postgres;Password=shentun123;" + //"Default": "Host=localhost;Port=5432;Database=ShentunPeis1218;User ID=postgres;Password=wxd123;" + + }, + "AuthServer": { + "Authority": "http://localhost:9530", + "RequireHttpsMetadata": "false", + "SwaggerClientId": "localhost_Swagger" + }, + "StringEncryption": { + "DefaultPassPhrase": "ROCjBbDQK9rNq82v" + }, + "Settings": { + "Abp.Identity.Password.RequireDigit": false, + "Abp.Identity.Password.RequireLowercase": false, + "Abp.Identity.Password.RequireUppercase": false, + "Abp.Identity.Password.RequireNonAlphanumeric": false, + "Abp.Identity.Password.RequiredLength": 6 + }, + "HostUrl": { + "ApiUrl": "http://140.143.162.39:9529" + }, + "VirtualPath": { + "RealPath": "F:\\testimg", + "RequestPath": "/CheckPictureImg", + "Alias": "CheckPictureImg" + }, + "AdminId": "3a0c4180-107c-0c89-b25b-0bd34666dcec", + "PeisReportPdfPath": "E:\\mypeis\\PeisReportPdf\\" +} \ No newline at end of file diff --git a/test/Shentun.Peis.ColumnReference.Tests/appsettings.secrets.json b/test/Shentun.Peis.ColumnReference.Tests/appsettings.secrets.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/test/Shentun.Peis.ColumnReference.Tests/appsettings.secrets.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file