diff --git a/Code/Be/Faster.Zheng.Winin/src/Faster.Zheng.Winin.Application/AppBase/ZbxBase.cs b/Code/Be/Faster.Zheng.Winin/src/Faster.Zheng.Winin.Application/AppBase/ZbxBase.cs index ab3f341..55fb94d 100644 --- a/Code/Be/Faster.Zheng.Winin/src/Faster.Zheng.Winin.Application/AppBase/ZbxBase.cs +++ b/Code/Be/Faster.Zheng.Winin/src/Faster.Zheng.Winin.Application/AppBase/ZbxBase.cs @@ -1,7 +1,6 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Data; using System.IO; using System.Linq; using System.Linq.Dynamic.Core; @@ -17,20 +16,12 @@ using Faster.Zheng.Winin.Localization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Localization; -using NPOI.POIFS.Macros; -using NPOI.SS.Formula.Functions; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -using Volo.Abp.Caching; using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.Localization; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory; -using static OpenIddict.Abstractions.OpenIddictConstants; -using static Volo.Abp.UI.Navigation.DefaultMenuNames.Application; namespace Faster.Zheng.Winin.AppBase; @@ -44,8 +35,12 @@ public class ZbxBase _repository; private readonly IMapper _mapper; private Func _mapFunc; - protected IStringLocalizer _localizer => LazyServiceProvider.LazyGetRequiredService>(); - protected ExportCustomUserSettingAppService _exportCustomUserSettingAppService => LazyServiceProvider.LazyGetRequiredService(); + + protected IStringLocalizer _localizer => + LazyServiceProvider.LazyGetRequiredService>(); + + protected ExportCustomUserSettingAppService _exportCustomUserSettingAppService => + LazyServiceProvider.LazyGetRequiredService(); public ZbxBase(IRepository repository) : base(repository) @@ -92,13 +87,13 @@ public class ZbxBase GetCountAsync(Expression> expression, CancellationToken cancellationToken = default) { - var count = await _repository.LongCountAsync(expression, cancellationToken: cancellationToken); + var count = await _repository.LongCountAsync(expression, cancellationToken); return count; } /// - /// 【基础】-【新增】 + /// 【基础】-【新增】 /// /// /// @@ -182,7 +177,7 @@ public class ZbxBase - /// 【基础】-【删除】 + /// 【基础】-【删除】 /// /// /// @@ -193,7 +188,7 @@ public class ZbxBase - /// 【基础】-【修改】 + /// 【基础】-【修改】 /// /// /// @@ -203,8 +198,8 @@ public class ZbxBase - /// 【基础】-【导出Excel】【有筛选条件】 + /// 【基础】-【导出Excel】【有筛选条件】 /// /// 查询条件 /// 是否冗余主表数据 @@ -280,27 +275,30 @@ public class ZbxBase用户ID /// [HttpPost("api/[controller]/base/export-to-excel")] - public virtual async Task ExportToExcelAsync(SfsRequestInputBase sfsRequestInputBase,bool isRedundance, Guid userId,bool isDetailExport = true) + public virtual async Task ExportToExcelAsync(SfsRequestInputBase sfsRequestInputBase, + bool isRedundance, Guid userId, bool isDetailExport = true) { - var isHasDetail = false;//是否包含从表 + var isHasDetail = false; //是否包含从表 - var data = (await GetPageListByFilterAsync(sfsRequestInputBase,true)).Items; + var data = (await GetPageListByFilterAsync(sfsRequestInputBase, true)).Items; - var fileStream = new MemoryStream();//文件流 + var fileStream = new MemoryStream(); //文件流 IWorkbook workbook = new XSSFWorkbook(); - ISheet sheet = workbook.CreateSheet(typeof(TEntityDto).Name); - int splitDetailsColumnNumber = 1;//分割主表和从表的列数量 - var excelDetailsColor = SetExcelDetailsColor(workbook);//字表样式 + var sheet = workbook.CreateSheet(typeof(TEntityDto).Name); + var splitDetailsColumnNumber = 1; //分割主表和从表的列数量 + var excelDetailsColor = SetExcelDetailsColor(workbook); //字表样式 // 获取主表的属性 创建主表 表头 var mainAllProperties = typeof(TEntityDto).GetProperties(); - var mainProperties= mainAllProperties.Where(p=>p.Name!= "Details").ToArray();//去除details属性否则导出时会带出来 + var mainProperties = mainAllProperties.Where(p => p.Name != "Details").ToArray(); //去除details属性否则导出时会带出来 #region 用户个性导出 主表 //获取个性导出的字段 - var mainUserColumn = await _exportCustomUserSettingAppService.GetByUserIdAndExportTableNameAsync(userId, typeof(TEntity).Name); - var mainNotShowUserColumn = mainUserColumn.Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.No).Select(p => p.ExportColumnName).ToList(); + var mainUserColumn = + await _exportCustomUserSettingAppService.GetByUserIdAndExportTableNameAsync(userId, typeof(TEntity).Name); + var mainNotShowUserColumn = mainUserColumn.Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.No) + .Select(p => p.ExportColumnName).ToList(); if (mainUserColumn.Any()) { mainProperties = mainProperties.Where(p => !mainNotShowUserColumn.Contains(p.Name)).ToArray(); @@ -308,31 +306,34 @@ public class ZbxBase p.Name == "Details"); var detailUserColumn = await _exportCustomUserSettingAppService.GetByUserIdAndExportTableNameAsync( userId, detailDtoName.PropertyType.GenericTypeArguments.First().Name.Replace("Dto", "")); - var detailNotShowUserColumn = detailUserColumn.Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.No).Select(p => p.ExportColumnName).ToList(); + var detailNotShowUserColumn = detailUserColumn + .Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.No).Select(p => p.ExportColumnName) + .ToList(); if (detailUserColumn.Any()) { detailProperties = detailProperties.Where(p => !detailNotShowUserColumn.Contains(p.Name)).ToArray(); @@ -348,7 +351,7 @@ public class ZbxBase)mainAllProperties[detailsIndex].GetValue(mainDto); var startMainRowIndex = rowIndex; - for (int datailCount = 0; datailCount < detailList.Count(); datailCount++) + for (var datailCount = 0; datailCount < detailList.Count(); datailCount++) { - IRow dataRow = sheet.CreateRow(rowIndex); + var dataRow = sheet.CreateRow(rowIndex); if (isRedundance) { // 填充主表数据 - for (int i = 0; i < mainProperties.Length; i++) + for (var i = 0; i < mainProperties.Length; i++) { var value = mainProperties[i].GetValue(mainDto); dataRow.CreateCell(i).SetCellValue(value?.ToString()); @@ -387,7 +390,7 @@ public class ZbxBase - /// 设置排序 + /// 设置排序 /// /// /// @@ -540,7 +545,7 @@ public class ZbxBase - /// 导出设置子表单元格样式 + /// 导出设置子表单元格样式 /// /// ///