32 changed files with 570 additions and 661 deletions
-
9Shentun.Peis.sln
-
11src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugIns.cs
-
17src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsAsbitemBase.cs
-
37src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsBase.cs
-
60src/Shentun.ColumnReferencePlugIns/ColumnReferencePlugInsDbBase.cs
-
8src/Shentun.ColumnReferencePlugIns/Shentun.Peis.ColumnReferencePlugIns.csproj
-
30src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsDto.cs
-
11src/Shentun.Peis.Application.Contracts/ColumnReferencePlugInss/ColumnReferencePlugInsIdDto.cs
-
19src/Shentun.Peis.Application.Contracts/ColumnReferences/ColumnReferenceDto.cs
-
20src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceCDto.cs
-
24src/Shentun.Peis.Application.Contracts/ColumnReferences/CreateColumnReferenceDto.cs
-
21src/Shentun.Peis.Application.Contracts/ColumnReferences/UpdateColumnReferenceDto.cs
-
147src/Shentun.Peis.Application/ColumnReferencePlugInss/ColumnReferencePlugInsAppservice.cs
-
146src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs
-
45src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsBase.cs
-
90src/Shentun.Peis.Application/ColumnReferences/ColumnReferencePlugInsGemAsbitem.cs
-
8src/Shentun.Peis.Application/PeisApplicationAutoMapperProfile.cs
-
1src/Shentun.Peis.Application/Shentun.Peis.Application.csproj
-
58src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugIns.cs
-
78src/Shentun.Peis.Domain/ColumnReferencePlugInss/ColumnReferencePlugInsManager.cs
-
16src/Shentun.Peis.Domain/ColumnReferences/ColumnReference.cs
-
69src/Shentun.Peis.Domain/ColumnReferences/ColumnReferenceManager.cs
-
32src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferencePlugInses/ColumnReferencePlugInsDbMapping.cs
-
8src/Shentun.Peis.EntityFrameworkCore/DbMapping/ColumnReferences/ColumnReferenceDbMapping.cs
-
2src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs
-
98test/Shentun.Peis.Application.Tests/ColumnReferencePlugInsTest.cs
-
54test/Shentun.Peis.ColumnReference.Tests/ColumnReferencePlugInsAsbitemBaseTest.cs
-
51test/Shentun.Peis.ColumnReference.Tests/Shentun.Peis.ColumnReferencePlugIns.Tests.csproj
-
12test/Shentun.Peis.ColumnReference.Tests/UnitTest1.cs
-
2test/Shentun.Peis.ColumnReference.Tests/appsettings.Development.json
-
45test/Shentun.Peis.ColumnReference.Tests/appsettings.json
-
2test/Shentun.Peis.ColumnReference.Tests/appsettings.secrets.json
@ -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<List<ColumnReferenceCodeValue>> GetCodeValues() |
|||
{ |
|||
return base.GetCodeValues(); |
|||
} |
|||
} |
|||
} |
|||
@ -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<List<ColumnReferenceCodeValue>> GetInterfaceCodeValues() |
|||
{ |
|||
using (DbConnection conn = CreateInterfaceDbConnect()) |
|||
{ |
|||
var list = (await conn.QueryAsync<ColumnReferenceCodeValue>(InterfaceSql)).ToList(); |
|||
return list; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -1,30 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.Peis.ColumnReferencePlugInss |
|||
{ |
|||
public class ColumnReferencePlugInsDto:AuditedEntityDtoName |
|||
{ |
|||
/// <summary>
|
|||
/// 名称
|
|||
/// </summary>
|
|||
public string DisplayName { get; set; } |
|||
/// <summary>
|
|||
/// 显示顺序
|
|||
/// </summary>
|
|||
public int DisplayOrder { get; set; } |
|||
/// <summary>
|
|||
/// Dll名称
|
|||
/// </summary>
|
|||
public string AssemblyName { get; set; } |
|||
/// <summary>
|
|||
/// 类名
|
|||
/// </summary>
|
|||
public string ClassName { get; set; } |
|||
/// <summary>
|
|||
/// 配置参数
|
|||
/// </summary>
|
|||
public string ParmValue { get; set; } |
|||
} |
|||
} |
|||
@ -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; } |
|||
} |
|||
} |
|||
@ -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<CreateColumnReferenceValue> ColumnReferenceValues { get; set; } |
|||
} |
|||
|
|||
public class CreateColumnReferenceValue |
|||
{ |
|||
public string CodeValue { get; set; } |
|||
public string InterfaceCodeValue { get; set; } |
|||
} |
|||
} |
|||
@ -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<CreateColumnReferenceValue> ColumnReferenceValues { get; set; } |
|||
} |
|||
/// <summary>
|
|||
/// 名称
|
|||
/// </summary>
|
|||
public string DisplayName { get; set; } |
|||
/// <summary>
|
|||
/// 配置参数
|
|||
/// </summary>
|
|||
[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; } |
|||
} |
|||
} |
|||
@ -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 |
|||
{ |
|||
/// <summary>
|
|||
/// 名称
|
|||
/// </summary>
|
|||
public string DisplayName { get; set; } |
|||
/// <summary>
|
|||
/// 显示顺序
|
|||
/// </summary>
|
|||
public int DisplayOrder { get; set; } |
|||
/// <summary>
|
|||
/// Dll名称
|
|||
/// </summary>
|
|||
public string AssemblyName { get; set; } |
|||
public string ClassName { get; set; } |
|||
/// <summary>
|
|||
/// 配置参数
|
|||
/// </summary>
|
|||
[Column("parm_value")] |
|||
[StringLength(1000)] |
|||
public string ParmValue { get; set; } |
|||
|
|||
|
|||
[Column("display_order")] |
|||
public int DisplayOrder { get; set; } |
|||
} |
|||
} |
|||
@ -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<ColumnReferencePlugIns, Guid> _columnReferencePlugInsRepository; |
|||
private readonly ColumnReferencePlugInsManager _manager; |
|||
private readonly CacheService _cacheService; |
|||
private readonly IRepository<IdentityUser, Guid> _userRepository; |
|||
public ColumnReferencePlugInsAppservice( |
|||
IRepository<ColumnReferencePlugIns, Guid> columnReferencePlugInsRepository, |
|||
ColumnReferencePlugInsManager manager, |
|||
CacheService cacheService, |
|||
IRepository<IdentityUser, Guid> userRepository) : base(columnReferencePlugInsRepository) |
|||
{ |
|||
_columnReferencePlugInsRepository = columnReferencePlugInsRepository; |
|||
_manager = manager; |
|||
_cacheService = cacheService; |
|||
_userRepository = userRepository; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 根据ID查实体内容
|
|||
/// </summary>
|
|||
/// <param name="id"></param>
|
|||
/// <returns></returns>
|
|||
[HttpGet("api/app/ColumnReferencePlugIns/get")] |
|||
public override async Task<ColumnReferencePlugInsDto> 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<PagedResultDto<ColumnReferencePlugInsDto>> GetListAsync(PagedAndSortedResultRequestDto input) |
|||
{ |
|||
return base.GetListAsync(input); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 查询列表
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpGet("api/app/ColumnReferencePlugIns/GetColumnReferencePlugInsList")] |
|||
public async Task<List<ColumnReferencePlugInsDto>> 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; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 创建
|
|||
/// </summary>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/ColumnReferencePlugIns/Create")] |
|||
public override async Task<ColumnReferencePlugInsDto> CreateAsync(CreateColumnReferencePlugInsDto input) |
|||
{ |
|||
var createEntity = ObjectMapper.Map<CreateColumnReferencePlugInsDto, ColumnReferencePlugIns>(input); |
|||
var entity = await _manager.CreateAsync(createEntity); |
|||
entity = await Repository.InsertAsync(entity); |
|||
var dto = ObjectMapper.Map<ColumnReferencePlugIns, ColumnReferencePlugInsDto>(entity); |
|||
return dto; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 修改
|
|||
/// </summary>
|
|||
/// <param name="id"></param>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/ColumnReferencePlugIns/Update")] |
|||
public override async Task<ColumnReferencePlugInsDto> UpdateAsync(Guid id, UpdateColumnReferencePlugInsDto input) |
|||
{ |
|||
var entity = await Repository.GetAsync(id); |
|||
var sourceEntity = ObjectMapper.Map<UpdateColumnReferencePlugInsDto, ColumnReferencePlugIns>(input); |
|||
await _manager.UpdateAsync(sourceEntity, entity); |
|||
entity = await Repository.UpdateAsync(entity); |
|||
return ObjectMapper.Map<ColumnReferencePlugIns, ColumnReferencePlugInsDto>(entity); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 删除
|
|||
/// </summary>
|
|||
/// <param name="id"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/ColumnReferencePlugIns/Delete")] |
|||
public override async Task DeleteAsync(Guid id) |
|||
{ |
|||
var entity = await Repository.GetAsync(id); |
|||
await _manager.CheckAndDeleteAsync(entity); |
|||
} |
|||
} |
|||
} |
|||
@ -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<string> GetColumns(); |
|||
public string GetFilterColumnName(); |
|||
public List<string> GetInterfaceColumns(); |
|||
public Task<List<ColumnReferenceCodeValue>> GetCodeValues(); |
|||
public Task<List<ColumnReferenceFilterCodeValue>> GetFilterCodeValues(); |
|||
public Task<List<ColumnReferenceCodeValue>> 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; } |
|||
} |
|||
|
|||
} |
|||
@ -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<string> GetColumns() |
|||
{ |
|||
return new List<string> |
|||
{ |
|||
"编码", |
|||
"名称", |
|||
"规格" |
|||
}; |
|||
} |
|||
|
|||
public List<string> GetInterfaceColumns() |
|||
{ |
|||
return new List<string> |
|||
{ |
|||
"编码", |
|||
"名称", |
|||
"规格" |
|||
}; |
|||
} |
|||
public async Task<List<ColumnReferenceCodeValue>> GetCodeValues() |
|||
{ |
|||
return new List<ColumnReferenceCodeValue>() |
|||
{ |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "001", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "002", |
|||
DisplayName = "腹部彩超", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "内科", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
} |
|||
}; |
|||
} |
|||
|
|||
public async Task<List<ColumnReferenceCodeValue>> GetInterfaceCodeValues() |
|||
{ |
|||
return new List<ColumnReferenceCodeValue>() |
|||
{ |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "001", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "002", |
|||
DisplayName = "腹部彩超", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "内科", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
} |
|||
}; |
|||
} |
|||
|
|||
public async Task<List<ColumnReferenceFilterCodeValue>> GetFilterCodeValues() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
public string GetFilterColumnName() |
|||
{ |
|||
return 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 |
|||
{ |
|||
/// <summary>
|
|||
/// 字段对照插件表
|
|||
/// </summary>
|
|||
[Table("column_reference_plug_ins")] |
|||
public class ColumnReferencePlugIns : AuditedEntity<Guid>, IDisplayName, IHasConcurrencyStamp, IDisplayOrder |
|||
{ |
|||
public ColumnReferencePlugIns() { } |
|||
public ColumnReferencePlugIns(Guid id):base(id) { } |
|||
/// <summary>
|
|||
/// 名称
|
|||
/// </summary>
|
|||
[Column("display_name")] |
|||
[StringLength(30)] |
|||
public string DisplayName { get; set; } |
|||
/// <summary>
|
|||
/// 显示顺序
|
|||
/// </summary>
|
|||
[Column("display_order")] |
|||
public int DisplayOrder { get; set; } |
|||
/// <summary>
|
|||
/// Dll名称
|
|||
/// </summary>
|
|||
[Column("assembly_name")] |
|||
[StringLength(100)] |
|||
public string AssemblyName { get; set; } |
|||
|
|||
[Column("class_name")] |
|||
[StringLength(100)] |
|||
public string ClassName { get; set; } |
|||
/// <summary>
|
|||
/// 配置参数
|
|||
/// </summary>
|
|||
[Column("parm_value")] |
|||
[StringLength(500)] |
|||
public string ParmValue { get; set; } |
|||
|
|||
|
|||
|
|||
[Column("concurrency_stamp")] |
|||
public string ConcurrencyStamp { get; set; } |
|||
|
|||
|
|||
public virtual ICollection<ColumnReference> ColumnReferences { get; set; } |
|||
|
|||
} |
|||
} |
|||
@ -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<ColumnReferencePlugIns, Guid> _repository; |
|||
private readonly IRepository<ColumnReference, Guid> _columnReferenceRepository; |
|||
public ColumnReferencePlugInsManager( |
|||
IRepository<ColumnReferencePlugIns, Guid> repository, |
|||
IRepository<ColumnReference, Guid> columnReferenceRepository |
|||
) |
|||
{ |
|||
_repository = repository; |
|||
_columnReferenceRepository = columnReferenceRepository; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 创建
|
|||
/// </summary>
|
|||
/// <param name="entity"></param>
|
|||
/// <returns></returns>
|
|||
public async Task<ColumnReferencePlugIns> 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<ColumnReferencePlugIns, Guid>(_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); |
|||
} |
|||
} |
|||
} |
|||
@ -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<ColumnReference, Guid> _repository; |
|||
public ColumnReferenceManager( |
|||
IRepository<ColumnReference, Guid> repository |
|||
) |
|||
{ |
|||
_repository = repository; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 创建
|
|||
/// </summary>
|
|||
/// <param name="entity"></param>
|
|||
/// <returns></returns>
|
|||
public async Task<ColumnReference> 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<ColumnReference, Guid>(_repository, sourceEntity.DisplayName, targetEntity); |
|||
targetEntity.DisplayName = sourceEntity.DisplayName; |
|||
} |
|||
targetEntity.ParmValue = sourceEntity.ParmValue; |
|||
} |
|||
|
|||
public async Task CheckAndDeleteAsync(ColumnReference entity) |
|||
{ |
|||
|
|||
|
|||
|
|||
await _repository.DeleteAsync(entity); |
|||
} |
|||
} |
|||
} |
|||
@ -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<ColumnReferencePlugIns> |
|||
{ |
|||
public void Configure(EntityTypeBuilder<ColumnReferencePlugIns> 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(); |
|||
} |
|||
} |
|||
} |
|||
@ -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<string> GetColumns() |
|||
{ |
|||
return new List<string> |
|||
{ |
|||
"编码", |
|||
"名称", |
|||
"规格" |
|||
}; |
|||
} |
|||
|
|||
public List<string> GetInterfaceColumns() |
|||
{ |
|||
return new List<string> |
|||
{ |
|||
"编码", |
|||
"名称", |
|||
"规格" |
|||
}; |
|||
} |
|||
public async Task<List<ColumnReferenceCodeValue>> GetCodeValues() |
|||
{ |
|||
return new List<ColumnReferenceCodeValue>() |
|||
{ |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "001", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "002", |
|||
DisplayName = "腹部彩超", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "内科", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
} |
|||
}; |
|||
} |
|||
|
|||
public async Task<List<ColumnReferenceCodeValue>> GetInterfaceCodeValues() |
|||
{ |
|||
return new List<ColumnReferenceCodeValue>() |
|||
{ |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "001", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "002", |
|||
DisplayName = "腹部彩超", |
|||
Exter1 = "一次" |
|||
}, |
|||
new ColumnReferenceCodeValue() |
|||
{ |
|||
Code = "内科", |
|||
DisplayName = "血常规", |
|||
Exter1 = "一次" |
|||
} |
|||
}; |
|||
} |
|||
|
|||
public async Task<List<ColumnReferenceFilterCodeValue>> GetFilterCodeValues() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
public string GetFilterColumnName() |
|||
{ |
|||
return null; |
|||
} |
|||
} |
|||
public class Column |
|||
{ |
|||
public string ColumnId { get; set; } |
|||
public string ColumnName { get; set; } |
|||
} |
|||
|
|||
} |
|||
@ -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); |
|||
} |
|||
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,51 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>net6.0</TargetFramework> |
|||
<ImplicitUsings>enable</ImplicitUsings> |
|||
<Nullable>enable</Nullable> |
|||
|
|||
<IsPackable>false</IsPackable> |
|||
<IsTestProject>true</IsTestProject> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Remove="appsettings.Development.json" /> |
|||
<None Remove="appsettings.json" /> |
|||
<None Remove="appsettings.secrets.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Content Include="appsettings.Development.json"> |
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
|||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile> |
|||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
|||
</Content> |
|||
<Content Include="appsettings.json"> |
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
|||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile> |
|||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
|||
</Content> |
|||
<Content Include="appsettings.secrets.json"> |
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
|||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile> |
|||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
|||
</Content> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="coverlet.collector" Version="3.2.0" /> |
|||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" /> |
|||
<PackageReference Include="xunit" Version="2.4.2" /> |
|||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\..\src\Shentun.ColumnReferencePlugIns\Shentun.Peis.ColumnReferencePlugIns.csproj" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Using Include="Xunit" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,12 @@ |
|||
|
|||
namespace Shentun.Peis.ColumnReference.Tests |
|||
{ |
|||
public class UnitTest1 |
|||
{ |
|||
[Fact] |
|||
public void Test1() |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
{ |
|||
} |
|||
@ -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\\" |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
{ |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue