Browse Source

1、报销流程信息分页显示报销类型名称

dongpo 1 year ago
parent
commit
f4c0da3947

+ 5 - 0
yudao-module-bpm/yudao-module-bpm-biz/pom.xml

@@ -31,6 +31,11 @@
             <artifactId>yudao-module-system-api</artifactId>
             <version>${revision}</version>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-expense-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
 <!--        <dependency>-->
 <!--            <groupId>cn.iocoder.boot</groupId>-->
 <!--            <artifactId>yudao-common</artifactId>-->

+ 23 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/expense/OaExpenseServiceImpl.java

@@ -24,6 +24,8 @@ import cn.iocoder.yudao.module.bpm.enums.DictDataConstants;
 import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
 import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
+import cn.iocoder.yudao.module.expense.api.expensetype.ExpenseTypeApi;
+import cn.iocoder.yudao.module.expense.api.expensetype.dto.ExpenseTypeRespDTO;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
@@ -96,6 +98,9 @@ public class OaExpenseServiceImpl implements OaExpenseService {
     @Resource
     private DeptApi deptApi;
 
+    @Resource
+    private ExpenseTypeApi expenseTypeApi;
+
     @Override
     @Transactional
     public Long stagingOaExpense(OaExpenseSaveReqVO stagingReqVO) {
@@ -661,26 +666,40 @@ public class OaExpenseServiceImpl implements OaExpenseService {
 
         List<OaExpenseRespVO> oaExpenseRespVOList = oaExpenseRespVOPageResult.getList();
         if (CollectionUtil.isNotEmpty(oaExpenseRespVOList)) {
+            // 当前审核人名称
             List<Long> employeeIdList = oaExpenseRespVOList.stream().map(OaExpenseRespVO::getCurrentAuditEmployeeId).collect(Collectors.toList());
             List<AdminUserRespDTO> employeeList = adminUserApi.getUserList(employeeIdList);
+
+            // 部门名称
+            List<Long> deptIdList = oaExpenseRespVOList.stream().map(OaExpenseRespVO::getDeptId).collect(Collectors.toList());
+            List<DeptRespDTO> deptList = deptApi.getDeptList(deptIdList);
+
+            // 报销类型名称
+            List<Long> expenseTypeIdList = oaExpenseRespVOList.stream().map(OaExpenseRespVO::getExpenseTypeId).collect(Collectors.toList());
+            List<ExpenseTypeRespDTO> expenseTypeList = expenseTypeApi.getExpenseTypeList(expenseTypeIdList);
+
             for (OaExpenseRespVO respVO : oaExpenseRespVOList) {
+
                 for (AdminUserRespDTO employee : employeeList) {
                     if (employee.getId() != null && employee.getId().equals(respVO.getCurrentAuditEmployeeId())) {
                         respVO.setCurrentAuditEmployeeName(employee.getNickname());
                         break;
                     }
                 }
-            }
 
-            List<Long> deptIdList = oaExpenseRespVOList.stream().map(OaExpenseRespVO::getDeptId).collect(Collectors.toList());
-            List<DeptRespDTO> deptList = deptApi.getDeptList(deptIdList);
-            for (OaExpenseRespVO respVO : oaExpenseRespVOList) {
                 for (DeptRespDTO dept : deptList) {
                     if (dept.getId() != null && dept.getId().equals(respVO.getDeptId())) {
                         respVO.setDeptName(dept.getName());
                         break;
                     }
                 }
+
+                for (ExpenseTypeRespDTO expenseType : expenseTypeList) {
+                    if (expenseType.getId() != null && expenseType.getId().equals(respVO.getExpenseTypeId())) {
+                        respVO.setExpenseTypeName(expenseType.getName());
+                        break;
+                    }
+                }
             }
         }
 

+ 17 - 0
yudao-module-finance/yudao-module-expense-api/src/main/java/cn/iocoder/yudao/module/expense/api/expensetype/ExpenseTypeApi.java

@@ -0,0 +1,17 @@
+package cn.iocoder.yudao.module.expense.api.expensetype;
+
+import cn.iocoder.yudao.module.expense.api.expensetype.dto.ExpenseTypeRespDTO;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface ExpenseTypeApi {
+
+    /**
+     * 获取报销类型列表
+     *
+     * @param ids 报销类型id集合
+     * @return 报销类型列表
+     */
+    List<ExpenseTypeRespDTO> getExpenseTypeList(Collection<Long> ids);
+}

+ 19 - 0
yudao-module-finance/yudao-module-expense-api/src/main/java/cn/iocoder/yudao/module/expense/api/expensetype/dto/ExpenseTypeRespDTO.java

@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.expense.api.expensetype.dto;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class ExpenseTypeRespDTO {
+
+    private Long id;
+
+    private String expenseTypeUuid;
+
+    private String name;
+
+    private String remarks;
+
+    private LocalDateTime createTime;
+}

+ 24 - 0
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/api/expensetype/ExpenseTypeApiImpl.java

@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.expense.api.expensetype;
+
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.expense.api.expensetype.dto.ExpenseTypeRespDTO;
+import cn.iocoder.yudao.module.expense.dal.dataobject.expensetype.ExpenseTypeDO;
+import cn.iocoder.yudao.module.expense.service.expensetype.ExpenseTypeService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
+
+@Service
+public class ExpenseTypeApiImpl implements ExpenseTypeApi {
+
+    @Resource
+    private ExpenseTypeService expenseTypeService;
+
+    @Override
+    public List<ExpenseTypeRespDTO> getExpenseTypeList(Collection<Long> ids) {
+        List<ExpenseTypeDO> expenseTypeDOList = expenseTypeService.getExpenseTypeList(ids);
+        return BeanUtils.toBean(expenseTypeDOList, ExpenseTypeRespDTO.class);
+    }
+}

+ 3 - 0
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/service/expensetype/ExpenseTypeService.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.expense.dal.dataobject.expenseitem.ExpenseItemDO;
 import cn.iocoder.yudao.module.expense.dal.dataobject.expensetype.ExpenseTypeDO;
 
 import javax.validation.Valid;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -56,6 +57,8 @@ public interface ExpenseTypeService {
 
     List<ExpenseTypeDO> getTypeList();
 
+    List<ExpenseTypeDO> getExpenseTypeList(Collection<Long> ids);
+
     // ==================== 子表(报销费用项目信息) ====================
 
     /**

+ 11 - 0
yudao-module-finance/yudao-module-expense-biz/src/main/java/cn/iocoder/yudao/module/expense/service/expensetype/ExpenseTypeServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.expense.service.expensetype;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -16,6 +17,8 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -97,6 +100,14 @@ public class ExpenseTypeServiceImpl implements ExpenseTypeService {
         return typeMapper.selectList(lambdaQueryWrapper);
     }
 
+    @Override
+    public List<ExpenseTypeDO> getExpenseTypeList(Collection<Long> ids) {
+        if (CollectionUtil.isEmpty(ids)) {
+            return Collections.emptyList();
+        }
+        return typeMapper.selectBatchIds(ids);
+    }
+
     // ==================== 子表(报销费用项目信息) ====================
 
     @Override