Browse Source

增强 CorporateProfitItem 方法并更新 DTO 类

在 `StatisticsController.cs` 文件中:
- 将 `Array.ConvertAll` 和 `Array.Empty` 替换为 `System.Array.ConvertAll` 和 `System.Array.Empty`。
- 增加了新的私有方法 `CorporateProfitItems`,用于生成和下载 Excel 文件。
- 在 `CorporateProfitItem` 方法中调用了新的 `CorporateProfitItems` 方法。
- 在 `CorporateProfitItems` 方法中使用 `WorkbookDesigner` 类生成 Excel 文件。
- 在 `CorporateProfitItem` 方法中添加了对参数的验证逻辑。

在 `CorporateProfitDtos.cs` 文件中:
- `CorporateProfitItemDto` 类的基类从 `CorporateProfitExcelDownloadDto` 改为 `CorporateProfitDtos`,并新增了 `BeginDt` 和 `EndDt` 属性。
- `CorporateProfitItemDtoFoalidator` 类中包含的验证器从 `CorporateProfitExcelDownloadDtoFoalidator` 改为 `CorporateProfitDtosDtoBaseFoalidator`,并新增了对 `BeginDt` 和 `EndDt` 属性的日期格式验证规则。
- `CorporateProfitExcelDownloadDto` 类的基类从 `CorporateProfitDtos` 改为 `CorporateProfitItemDto`。
- `CorporateProfitExcelDownloadDtoFoalidator` 类中包含的验证器从 `CorporateProfitDtosDtoBaseFoalidator` 改为 `CorporateProfitItemDtoFoalidator`,并移除了对 `BeginDt` 和 `EndDt` 属性的日期格式验证规则。

在 `CorporateProfitViews.cs` 文件中:
- 新增了 `CorporateProfitDailyView` 类和 `CorporateProfitDailyCommentView` 类,分别包含了一些新的属性。
LEIYI 1 day ago
parent
commit
5174f52e08

File diff suppressed because it is too large
+ 508 - 385
OASystem/OASystem.Api/Controllers/StatisticsController.cs


+ 12 - 10
OASystem/OASystem.Domain/Dtos/Statistics/CorporateProfitDtos.cs

@@ -27,8 +27,10 @@ namespace OASystem.Domain.Dtos.Statistics
     /// <summary>
     /// item Dto
     /// </summary>
-    public class CorporateProfitItemDto : CorporateProfitExcelDownloadDto
+    public class CorporateProfitItemDto : CorporateProfitDtos
     {
+        public string BeginDt { get; set; }
+        public string EndDt { get; set; }
     }
 
     /// <summary>
@@ -39,12 +41,18 @@ namespace OASystem.Domain.Dtos.Statistics
     {
         public CorporateProfitItemDtoFoalidator()
         {
-            Include(new CorporateProfitExcelDownloadDtoFoalidator());
+            Include(new CorporateProfitDtosDtoBaseFoalidator());
+            RuleFor(it => it.BeginDt)
+                .Must(dateString => DateTime.TryParse(dateString, out _))
+                .WithMessage("请输入有效开始的日期");
+            RuleFor(it => it.EndDt)
+                .Must(dateString => DateTime.TryParse(dateString, out _))
+                .WithMessage("请输入有效结束的日期");
         }
     }
 
 
-    public class CorporateProfitExcelDownloadDto : CorporateProfitDtos
+    public class CorporateProfitExcelDownloadDto : CorporateProfitItemDto
     {
         /// <summary>
         /// excel类型
@@ -59,14 +67,8 @@ namespace OASystem.Domain.Dtos.Statistics
     {
         public CorporateProfitExcelDownloadDtoFoalidator()
         {
-            Include(new CorporateProfitDtosDtoBaseFoalidator());
+            Include(new CorporateProfitItemDtoFoalidator());
             RuleFor(it => it.ExcelType).InclusiveBetween(1, 5).WithMessage("请输入有效的Excel类型");
-            RuleFor(it => it.BeginDt)
-                .Must(dateString => DateTime.TryParse(dateString, out _))
-                .WithMessage("请输入有效开始的日期");
-            RuleFor(it => it.EndDt)
-                .Must(dateString => DateTime.TryParse(dateString, out _))
-                .WithMessage("请输入有效结束的日期");
 
         }
     }

+ 17 - 0
OASystem/OASystem.Domain/ViewModels/Statistics/CorporateProfitViews.cs

@@ -138,4 +138,21 @@ namespace OASystem.Domain.ViewModels.Statistics
         public string Label { get; set; }
 
     }
+
+
+    public class CorporateProfitDailyView
+    {
+        public string No { get; set; }
+        public string PriceName { get; set; }
+
+        public decimal ThisMonthAmount { get; set; }
+        public decimal ThisYearAmount { get; set; }
+        public string Remark { get; set; }
+    }
+
+    public class CorporateProfitDailyCommentView
+    {
+        public string MonthComment { get; set; }
+        public string YearComment { get; set; }
+    }
 }