Просмотр исходного кода

1、7663报销类型、费用项目-导出时创建人显示问题

dongpo 6 месяцев назад
Родитель
Сommit
43ce1906ca

+ 14 - 1
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/controller/admin/expenseitem/ExpenseItemController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.expense.controller.admin.expenseitem;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
@@ -108,9 +109,21 @@ public class ExpenseItemController {
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<ExpenseItemDO> list = itemService.getItemPage(pageReqVO).getList();
+        List<ExpenseItemRespVO> expenseItemRespVOList = BeanUtils.toBean(list, ExpenseItemRespVO.class);
+        if (CollUtil.isNotEmpty(expenseItemRespVOList)) {
+            List<Long> employeeIdList = expenseItemRespVOList.stream().map(ExpenseItemRespVO::getCreator).collect(Collectors.toList());
+            List<EmployeeRespDTO> employeeRespDTOList = employeeApi.getEmployeeListByIds(employeeIdList);
+            Map<Long, EmployeeRespDTO> longEmployeeRespDTOMap = CollectionUtils.convertMap(employeeRespDTOList, EmployeeRespDTO::getId);
+            for (ExpenseItemRespVO expenseItemRespVO : expenseItemRespVOList) {
+                EmployeeRespDTO employeeRespDTO = longEmployeeRespDTOMap.get(expenseItemRespVO.getCreator());
+                if (Objects.nonNull(employeeRespDTO)) {
+                    expenseItemRespVO.setCreateEmployeeName(employeeRespDTO.getName());
+                }
+            }
+        }
         // 导出 Excel
         ExcelUtils.write(response, "报销费用项目信息.xls", "数据", ExpenseItemRespVO.class,
-                        BeanUtils.toBean(list, ExpenseItemRespVO.class));
+                expenseItemRespVOList);
     }
 
 }

+ 13 - 13
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/controller/admin/expenseitem/vo/ExpenseItemRespVO.java

@@ -12,39 +12,39 @@ import java.time.LocalDateTime;
 @ExcelIgnoreUnannotated
 public class ExpenseItemRespVO {
 
-    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4075")
-    @ExcelProperty("主键")
+    @Schema(description = "主键")
+    // @ExcelProperty("主键")
     private Long id;
 
-    @Schema(description = "报销类型主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2556")
-    @ExcelProperty("报销类型主键id")
+    @Schema(description = "报销类型主键id")
+    // @ExcelProperty("报销类型主键id")
     private Long expenseTypeId;
 
-    @Schema(description = "报销类型uuid", example = "14367")
-    @ExcelProperty("报销类型uuid")
+    @Schema(description = "报销类型uuid")
+    // @ExcelProperty("报销类型uuid")
     private String expenseTypeUuid;
 
-    @Schema(description = "费用项目uuid", example = "10133")
-    @ExcelProperty("费用项目uuid")
+    @Schema(description = "费用项目uuid")
+    // @ExcelProperty("费用项目uuid")
     private String expenseItemUuid;
 
-    @Schema(description = "费用项目", example = "芋艿")
+    @Schema(description = "费用项目")
     @ExcelProperty("费用项目")
     private String name;
 
     @Schema(description = "备注")
-    @ExcelProperty("备注")
+    // @ExcelProperty("备注")
     private String remarks;
 
     @Schema(description = "创建者")
-    @ExcelProperty("创建者id")
+    // @ExcelProperty("创建者id")
     private Long creator;
 
     @Schema(description = "创建员工姓名")
-    @ExcelProperty("创建员工id")
+    @ExcelProperty("创建")
     private String createEmployeeName;
 
-    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @Schema(description = "创建时间")
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 

+ 14 - 1
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/controller/admin/expensetype/ExpenseTypeController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.expense.controller.admin.expensetype;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
@@ -116,9 +117,21 @@ public class ExpenseTypeController {
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<ExpenseTypeDO> list = typeService.getTypePage(pageReqVO).getList();
+        List<ExpenseTypeRespVO> expenseTypeRespVOList = BeanUtils.toBean(list, ExpenseTypeRespVO.class);
+        if (CollUtil.isNotEmpty(expenseTypeRespVOList)) {
+            List<Long> employeeIdList = expenseTypeRespVOList.stream().map(ExpenseTypeRespVO::getCreator).collect(Collectors.toList());
+            List<EmployeeRespDTO> employeeRespDTOList = employeeApi.getEmployeeListByIds(employeeIdList);
+            Map<Long, EmployeeRespDTO> longEmployeeRespDTOMap = CollectionUtils.convertMap(employeeRespDTOList, EmployeeRespDTO::getId);
+            for (ExpenseTypeRespVO expenseTypeRespVO : expenseTypeRespVOList) {
+                EmployeeRespDTO employeeRespDTO = longEmployeeRespDTOMap.get(expenseTypeRespVO.getCreator());
+                if (Objects.nonNull(employeeRespDTO)) {
+                    expenseTypeRespVO.setCreateEmployeeName(employeeRespDTO.getName());
+                }
+            }
+        }
         // 导出 Excel
         ExcelUtils.write(response, "报销类型信息.xls", "数据", ExpenseTypeRespVO.class,
-                        BeanUtils.toBean(list, ExpenseTypeRespVO.class));
+                        expenseTypeRespVOList);
     }
 
     // ==================== 子表(报销费用项目信息) ====================