feat(bpm): 采购支付时增加项目名称展示
- 在获取可用采购单列表时,添加项目名称信息 - 新增 ProjectApi 接口方法 getProjectList- 实现 ProjectApiImpl 和 ProjectService 接口的 getProjectList 方法 - 优化 BpmOAProcurePayController 中的 getAvailablePurchaseOrders 方法
This commit is contained in:
parent
f3f49d1f60
commit
739c1995cc
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa;
|
package cn.iocoder.yudao.module.bpm.controller.admin.oa;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
@ -10,7 +11,8 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcur
|
|||||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcurePayService;
|
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcurePayService;
|
||||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcureService;
|
import cn.iocoder.yudao.module.system.api.project.ProjectApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.project.dto.ProjectDTO;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -20,8 +22,12 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 采购支付")
|
@Tag(name = "管理后台 - 采购支付")
|
||||||
@RestController
|
@RestController
|
||||||
@ -32,7 +38,7 @@ public class BpmOAProcurePayController {
|
|||||||
@Resource
|
@Resource
|
||||||
private BpmOAProcurePayService oAProcurePayService;
|
private BpmOAProcurePayService oAProcurePayService;
|
||||||
@Resource
|
@Resource
|
||||||
private BpmOAProcureService oaProcureService;
|
private ProjectApi projectApi;
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建采购支付")
|
@Operation(summary = "创建采购支付")
|
||||||
@ -80,7 +86,18 @@ public class BpmOAProcurePayController {
|
|||||||
@Operation(summary = "获取可用采购单列表")
|
@Operation(summary = "获取可用采购单列表")
|
||||||
public CommonResult<List<BpmOAProcureRespVO>> getAvailablePurchaseOrders(@RequestParam(name = "type", required = false) Integer type) {
|
public CommonResult<List<BpmOAProcureRespVO>> getAvailablePurchaseOrders(@RequestParam(name = "type", required = false) Integer type) {
|
||||||
List<BpmOAProcureDO> list = oAProcurePayService.getAvailablePurchaseOrders(type);
|
List<BpmOAProcureDO> list = oAProcurePayService.getAvailablePurchaseOrders(type);
|
||||||
return success(BeanUtils.toBean(list, BpmOAProcureRespVO.class));
|
List<BpmOAProcureRespVO> respVOS = BeanUtils.toBean(list, BpmOAProcureRespVO.class);
|
||||||
|
if (CollUtil.isNotEmpty(respVOS)) {
|
||||||
|
// 获取项目编号列表
|
||||||
|
Set<String> projectNo = convertSet(respVOS, BpmOAProcureRespVO::getProjectNo);
|
||||||
|
List<ProjectDTO> projectList = projectApi.getProjectList(projectNo).getCheckedData();
|
||||||
|
Map<String, ProjectDTO> projectMap = convertMap(projectList, ProjectDTO::getProjectNo);
|
||||||
|
|
||||||
|
respVOS.forEach(respVO -> {
|
||||||
|
respVO.setProjectName(projectMap.get(respVO.getProjectNo()) != null ? projectMap.get(respVO.getProjectNo()).getName() : "");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return success(respVOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getByProcessInstanceId")
|
@GetMapping("/getByProcessInstanceId")
|
||||||
|
@ -12,6 +12,9 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
|
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
|
||||||
@Tag(name = "RPC 服务 - 项目")
|
@Tag(name = "RPC 服务 - 项目")
|
||||||
public interface ProjectApi {
|
public interface ProjectApi {
|
||||||
@ -26,4 +29,8 @@ public interface ProjectApi {
|
|||||||
@Operation(summary = "获得项目")
|
@Operation(summary = "获得项目")
|
||||||
@Parameter(name = "projectNo", description = "项目编号", required = true)
|
@Parameter(name = "projectNo", description = "项目编号", required = true)
|
||||||
CommonResult<ProjectDTO> getProject(@RequestParam("projectNo") String projectNo);
|
CommonResult<ProjectDTO> getProject(@RequestParam("projectNo") String projectNo);
|
||||||
|
|
||||||
|
@PostMapping(PREFIX + "/get")
|
||||||
|
@Operation(summary = "获得项目")
|
||||||
|
CommonResult<List<ProjectDTO>> getProjectList(@RequestBody Collection<String> projectNos);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||||
@ -30,4 +33,10 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
ProjectDO projectDO = projectService.getProject(projectNo);
|
ProjectDO projectDO = projectService.getProject(projectNo);
|
||||||
return success(BeanUtils.toBean(projectDO, ProjectDTO.class));
|
return success(BeanUtils.toBean(projectDO, ProjectDTO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<List<ProjectDTO>> getProjectList(Collection<String> projectNos) {
|
||||||
|
List<ProjectDO> projectDOList = projectService.getProjectList(projectNos);
|
||||||
|
return success(BeanUtils.toBean(projectDOList, ProjectDTO.class));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.project.vo.ProjectSaveReq
|
|||||||
import cn.iocoder.yudao.module.system.dal.dataobject.project.ProjectDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.project.ProjectDO;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,4 +68,11 @@ public interface ProjectService {
|
|||||||
* @return 项目列表
|
* @return 项目列表
|
||||||
*/
|
*/
|
||||||
List<ProjectDO> getMyProject(Long userId);
|
List<ProjectDO> getMyProject(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得项目列表
|
||||||
|
* @param projectNos 项目编号集合
|
||||||
|
* @return 项目信息列表
|
||||||
|
*/
|
||||||
|
List<ProjectDO> getProjectList(Collection<String> projectNos);
|
||||||
}
|
}
|
@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
@ -86,4 +87,10 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
.eq(ProjectDO::getStatus, 1));
|
.eq(ProjectDO::getStatus, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectDO> getProjectList(Collection<String> projectNos) {
|
||||||
|
|
||||||
|
return projectMapper.selectList(ProjectDO::getProjectNo, projectNos);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user