fix:修复采购补货的taskId回显
This commit is contained in:
1 parent
a8e0c26650
commit
895b8b95c6
6 files changed
+53
-4
No files matched your search
+12
@@ -1,11 +1,15 @@
|
||||
package com.bsd.pjcloud.flow.task.api.feign;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.constant.ServiceNameConstants;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskQueryParamDto;
|
||||
import com.bsd.pjcloud.flow.task.entity.Process;
|
||||
import com.bsd.pjcloud.flow.task.vo.FormGroupVo;
|
||||
import com.bsd.pjcloud.flow.task.vo.ProcessVO;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -48,6 +52,14 @@ public interface RemoteFlowApiFlowService {
|
||||
@PostMapping("/process-instance/startProcessInstance")
|
||||
R<String> startProcessInstance(@RequestBody ProcessInstanceParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 查询当前用户的代办任务
|
||||
*
|
||||
* @param queryParamDto
|
||||
* @return {@link R } 流程实例ID {@link String}
|
||||
*/
|
||||
@PostMapping("/process-instance/queryMineTask")
|
||||
R<Page<TaskDto>> queryMineTask(@RequestBody TaskQueryParamDto queryParamDto);
|
||||
|
||||
/**
|
||||
* 获取流程数据
|
||||
|
||||
+3
-1
@@ -1,8 +1,10 @@
|
||||
package com.bsd.pjcloud.flow.task.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.security.annotation.Inner;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskQueryParamDto;
|
||||
import com.bsd.pjcloud.flow.task.service.IProcessInstanceService;
|
||||
import com.bsd.pjcloud.flow.task.vo.NodeFormatParamVo;
|
||||
@@ -51,7 +53,7 @@ public class ProcessInstanceController {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@PostMapping("queryMineTask")
|
||||
public R queryMineTask(@RequestBody TaskQueryParamDto queryParamDto) {
|
||||
public R<Page<TaskDto>> queryMineTask(@RequestBody TaskQueryParamDto queryParamDto) {
|
||||
return processInstanceService.queryMineTask(queryParamDto);
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -1,7 +1,9 @@
|
||||
package com.bsd.pjcloud.flow.task.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskQueryParamDto;
|
||||
import com.bsd.pjcloud.flow.task.vo.NodeFormatParamVo;
|
||||
|
||||
@@ -22,7 +24,7 @@ public interface IProcessInstanceService {
|
||||
* @param taskQueryParamDto taskQueryParamDto
|
||||
* @return
|
||||
*/
|
||||
R queryMineTask(TaskQueryParamDto taskQueryParamDto);
|
||||
R<Page<TaskDto>> queryMineTask(TaskQueryParamDto taskQueryParamDto);
|
||||
|
||||
/**
|
||||
* 查询已办任务
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService {
|
||||
* @return R
|
||||
*/
|
||||
@Override
|
||||
public R queryMineTask(TaskQueryParamDto taskQueryParamDto) {
|
||||
public R<Page<TaskDto>> queryMineTask(TaskQueryParamDto taskQueryParamDto) {
|
||||
taskQueryParamDto.setAssign(SecurityUtils.getUser().getId().toString());
|
||||
R<Page<TaskDto>> r = flowEngineService.queryAssignTask(taskQueryParamDto);
|
||||
|
||||
|
||||
+3
@@ -150,6 +150,9 @@ public class SmErpCgPlanEntity extends Model<SmErpCgPlanEntity> {
|
||||
@TableField(exist = false)
|
||||
public String handlerUserName;
|
||||
|
||||
@Schema(description="任务id")
|
||||
@TableField(exist = false)
|
||||
public String taskId;
|
||||
|
||||
|
||||
}
|
||||
+31
-1
@@ -1,5 +1,6 @@
|
||||
package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -12,6 +13,8 @@ import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowApiFlowService;
|
||||
import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum;
|
||||
import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskDto;
|
||||
import com.bsd.pjcloud.flow.task.dto.TaskQueryParamDto;
|
||||
import com.bsd.pjcloud.flow.task.entity.Process;
|
||||
import com.bsd.pjcloud.supermarket.constant.SupermarketFlowConstant;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanEditDTO;
|
||||
@@ -229,7 +232,8 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
.collect(Collectors.toSet());
|
||||
//请求得到所有的userIds
|
||||
Map<Long, SysUser> userMap = remoteUserService.getUserMap(userIds).getData();
|
||||
|
||||
|
||||
List<String> processInstanceIds= records.stream().map(SmErpCgPlanEntity::getProcessInstanceId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
|
||||
//查询出采购计划下的所有item
|
||||
LambdaQueryWrapper<SmErpCgPlanItemEntity> smErpCgPlanItemEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -251,6 +255,26 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
Collectors.toList()
|
||||
)
|
||||
));
|
||||
|
||||
//查询代办任务的task
|
||||
TaskQueryParamDto taskQueryParamDto = new TaskQueryParamDto();
|
||||
taskQueryParamDto.setProcessInstanceIds(processInstanceIds);
|
||||
taskQueryParamDto.setCurrent(1);
|
||||
taskQueryParamDto.setSize(processInstanceIds.size());
|
||||
R<Page<TaskDto>> pageR = remoteFlowApiFlowService.queryMineTask(taskQueryParamDto);
|
||||
Page<TaskDto> data = pageR.getData();
|
||||
// final Map<String, TaskDto>[] processInstanceIdMap = new Map[]{Collections.emptyMap()};
|
||||
// if (!ObjectUtil.isEmpty(data)){
|
||||
// processInstanceIdMap = data.getRecords().stream().collect(Collectors.toMap(TaskDto::getProcessInstanceId, taskDto -> taskDto));
|
||||
// }
|
||||
|
||||
// 直接通过条件判断初始化 final 变量
|
||||
final Map<String, TaskDto> processInstanceIdMap = (data != null && !ObjectUtil.isEmpty(data.getRecords()))
|
||||
? data.getRecords().stream()
|
||||
.collect(Collectors.toMap(TaskDto::getProcessInstanceId, taskDto -> taskDto))
|
||||
: Collections.emptyMap();
|
||||
|
||||
|
||||
//设置经办人名称
|
||||
// 设置商品名称到主表实体
|
||||
records.forEach(plan -> {
|
||||
@@ -259,6 +283,12 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
plan.setHandlerUserName(sysUser.getUsername());
|
||||
List<String> names = planGoodsMap.getOrDefault(plan.getId(), Collections.emptyList());
|
||||
plan.setProductName(String.join(", ", names));
|
||||
if (!processInstanceIdMap.isEmpty()) {
|
||||
TaskDto taskDto = processInstanceIdMap.get(plan.getProcessInstanceId());
|
||||
if (taskDto != null) {
|
||||
plan.setTaskId(taskDto.getTaskId());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return pageData;
|
||||
|
||||
Reference in new issue
Block a user