diff --git a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs index 1a0d91ed..75f2b620 100644 --- a/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs +++ b/src/Shentun.Peis.Application/ColumnReferences/ColumnReferenceAppService.cs @@ -201,17 +201,17 @@ namespace Shentun.Peis.ColumnReferences { var columnReferenceCode = await _columnReferenceCodeRepository.FindAsync(o => o.ColumnReferenceId == input.ColumnReferenceId && o.CodeValue == input.AppCode.CodeValue); - + if (columnReferenceCode == null) { //新建 - columnReferenceCode = await _columnReferenceCodeManager.CreateAsync(new ColumnReferenceCode() + columnReferenceCode = await _columnReferenceCodeManager.CreateAsync(new ColumnReferenceCode() { ColumnReferenceId = input.ColumnReferenceId, CodeValue = input.AppCode.CodeValue }); columnReferenceCode = await _columnReferenceCodeRepository.InsertAsync(columnReferenceCode); - + } else { @@ -219,7 +219,7 @@ namespace Shentun.Peis.ColumnReferences //先删除所有接口编码 var columnReferenceInterfacs = await _columnReferenceInterfaceRepository.GetListAsync(o => o.ColumnReferenceCodeId == columnReferenceCode.Id); await _columnReferenceInterfaceRepository.DeleteManyAsync(columnReferenceInterfacs); - + } //插入接口表数据 @@ -249,7 +249,7 @@ namespace Shentun.Peis.ColumnReferences var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value; var className = config.GetSection("Interface").GetSection("ClassName").Value; var list = await ReflectionHelper.InvokeAsync>(assemblyName, className, [parmValue], "GetAppColumns"); - + return list; } @@ -273,7 +273,7 @@ namespace Shentun.Peis.ColumnReferences var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value; var className = config.GetSection("Interface").GetSection("ClassName").Value; var list = await ReflectionHelper.InvokeAsync>(assemblyName, className, [parmValue], "GetInterfaceColumns"); - + return list; } /// @@ -293,8 +293,35 @@ namespace Shentun.Peis.ColumnReferences var config = configurationBuilder.Build(); var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value; var className = config.GetSection("Interface").GetSection("ClassName").Value; - var list = await ReflectionHelper.InvokeAsync >(assemblyName, className, [parmValue], "GetAppCodeValuesAsync"); - + var list = await ReflectionHelper.InvokeAsync>(assemblyName, className, [parmValue], "GetAppCodeValuesAsync"); + + if (list.Count > 0) + { + //对照数据 + var columnReferenceInterfaceList = (from columnReferenceCode in await _columnReferenceCodeRepository.GetQueryableAsync() + join columnReferenceInterface in await _columnReferenceInterfaceRepository.GetQueryableAsync() on columnReferenceCode.Id equals columnReferenceInterface.ColumnReferenceCodeId + where columnReferenceCode.ColumnReferenceId == input.Id + select new + { + columnReferenceCode, + columnReferenceInterface + }).ToList(); + + foreach (var item in list) + { + var dzList = columnReferenceInterfaceList.Where(m => m.columnReferenceCode.CodeValue == item.CodeValue).Select(s => s.columnReferenceInterface.InterfaceCodeValue).ToList(); + if (dzList.Any()) + { + item.Exter1 = "Y"; + item.Exter2 = dzList.Count.ToString(); + } + else + { + item.Exter1 = "N"; + item.Exter2 = "0"; + } + } + } return list; } @@ -318,7 +345,7 @@ namespace Shentun.Peis.ColumnReferences var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value; var className = config.GetSection("Interface").GetSection("ClassName").Value; var list = await ReflectionHelper.InvokeAsync>(assemblyName, className, [parmValue], "GetInterfaceCodeValuesAsync"); - + return list; @@ -333,12 +360,12 @@ namespace Shentun.Peis.ColumnReferences { var columnReferenceCode = await _columnReferenceCodeRepository.FirstOrDefaultAsync(o => o.ColumnReferenceId == input.ColumnReferenceId && o.CodeValue == input.CodeValue); - if(columnReferenceCode == null) + if (columnReferenceCode == null) { return null; } var items = await _columnReferenceInterfaceRepository.GetListAsync(o => o.ColumnReferenceCodeId == columnReferenceCode.Id); - + var entity = await _repository.GetAsync(input.ColumnReferenceId); var parmValue = entity.ParmValue; var configurationBuilder = new ConfigurationBuilder() @@ -348,14 +375,14 @@ namespace Shentun.Peis.ColumnReferences var className = config.GetSection("Interface").GetSection("ClassName").Value; var list = await ReflectionHelper.InvokeAsync>(assemblyName, className, [parmValue], "GetInterfaceCodeValuesAsync"); var result = new List(); - foreach ( var item in items) + foreach (var item in items) { var columnReferenceInterfaceCodeValueDto = new ColumnReferenceInterfaceCodeValueDto() { CodeValue = item.InterfaceCodeValue, }; var interfaceItem = list.Where(o => o.CodeValue == item.InterfaceCodeValue).FirstOrDefault(); - if(interfaceItem != null) + if (interfaceItem != null) { columnReferenceInterfaceCodeValueDto.DisplayName = interfaceItem.DisplayName; }