refactor: 添加相关缺少字段

This commit is contained in:
kyle 2024-01-17 09:29:14 +08:00
parent fc2a8f1311
commit 3720a648d7
8 changed files with 47 additions and 31 deletions

View File

@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
public class BpmProcessInstanceCCMyPageReqVO extends PageParam { public class BpmProcessInstanceCCMyPageReqVO extends PageParam {
@Schema(description = "流程名称", example = "芋道") @Schema(description = "流程名称", example = "芋道")
private String name; private String processInstanceName;
@Schema(description = "流程编号", example = "123456768") @Schema(description = "流程编号", example = "123456768")
private String processInstanceId; private String processInstanceId;

View File

@ -23,11 +23,7 @@ public class BpmProcessInstanceCCPageItemRespVO {
@Schema(description = "发起人别名") @Schema(description = "发起人别名")
private String startUserNickname; private String startUserNickname;
/**
* 表单名
*/
@Schema(description = "流程实例的名字")
private String name;
/** /**
* 流程主键 * 流程主键
*/ */
@ -44,18 +40,16 @@ public class BpmProcessInstanceCCPageItemRespVO {
@Schema(description = "发起抄送的任务名称") @Schema(description = "发起抄送的任务名称")
private String taskName; private String taskName;
/**
* 用户主键
*/
@Schema(description = "用户编号")
private Long userId;
@Schema(description = "用户别名")
private String userNickname;
@Schema(description = "抄送原因") @Schema(description = "抄送原因")
private String reason; private String reason;
@Schema(description = "抄送人")
private String creator;
@Schema(description = "抄送人别名")
private String creatorNickname;
@Schema(description = "抄送时间") @Schema(description = "抄送时间")
private LocalDateTime createTime; private LocalDateTime createTime;
} }

View File

@ -35,15 +35,15 @@ public interface BpmProcessInstanceCopyConvert {
, Map<Long/* userId */, String/* userName */> userMap , Map<Long/* userId */, String/* userName */> userMap
) { ) {
List<BpmProcessInstanceCCPageItemRespVO> list = convertList(page.getList()); List<BpmProcessInstanceCCPageItemRespVO> list = convertList(page.getList());
for (BpmProcessInstanceCCPageItemRespVO vo:list){ for (BpmProcessInstanceCCPageItemRespVO vo : list) {
MapUtils.findAndThen(userMap, vo.getUserId(), MapUtils.findAndThen(userMap, Long.valueOf(vo.getCreator()),
userName -> vo.setUserNickname(userName)); vo::setCreatorNickname);
MapUtils.findAndThen(userMap, vo.getStartUserId(), MapUtils.findAndThen(userMap, vo.getStartUserId(),
userName -> vo.setStartUserNickname(userName)); vo::setStartUserNickname);
MapUtils.findAndThen(taskMap, vo.getTaskId(), MapUtils.findAndThen(taskMap, vo.getTaskId(),
name -> vo.setTaskName(name)); vo::setTaskName);
MapUtils.findAndThen(processInstaneMap, vo.getProcessInstanceId(), MapUtils.findAndThen(processInstaneMap, vo.getProcessInstanceId(),
name -> vo.setProcessInstanceName(name)); vo::setProcessInstanceName);
} }
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }

View File

@ -33,7 +33,7 @@ public class BpmProcessInstanceCopyDO extends BaseDO {
/** /**
* 流程名 * 流程名
*/ */
private String name; private String processInstanceName;
/** /**
* 流程主键 * 流程主键
*/ */
@ -43,6 +43,12 @@ public class BpmProcessInstanceCopyDO extends BaseDO {
* 任务主键 * 任务主键
*/ */
private String taskId; private String taskId;
/**
* 任务名称
*/
private String taskName;
/** /**
* 用户主键 * 用户主键
*/ */
@ -53,4 +59,9 @@ public class BpmProcessInstanceCopyDO extends BaseDO {
*/ */
private String reason; private String reason;
/**
* 流程分类
*/
private String processDefinitionCategory;
} }

View File

@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCCMyPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCCMyPageReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.cc.BpmProcessInstanceCopyDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.cc.BpmProcessInstanceCopyDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
@ -14,7 +13,7 @@ public interface BpmProcessInstanceCopyMapper extends BaseMapperX<BpmProcessInst
return selectPage(reqVO, new LambdaQueryWrapperX<BpmProcessInstanceCopyDO>() return selectPage(reqVO, new LambdaQueryWrapperX<BpmProcessInstanceCopyDO>()
.eqIfPresent(BpmProcessInstanceCopyDO::getUserId, loginUserId) .eqIfPresent(BpmProcessInstanceCopyDO::getUserId, loginUserId)
.eqIfPresent(BpmProcessInstanceCopyDO::getProcessInstanceId, reqVO.getProcessInstanceId()) .eqIfPresent(BpmProcessInstanceCopyDO::getProcessInstanceId, reqVO.getProcessInstanceId())
.likeIfPresent(BpmProcessInstanceCopyDO::getName, reqVO.getName()) .likeIfPresent(BpmProcessInstanceCopyDO::getProcessInstanceName, reqVO.getProcessInstanceName())
.betweenIfPresent(BpmProcessInstanceCopyDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(BpmProcessInstanceCopyDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BpmProcessInstanceCopyDO::getId)); .orderByDesc(BpmProcessInstanceCopyDO::getId));
} }

View File

@ -18,6 +18,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RuntimeService; import org.flowable.engine.RuntimeService;
import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.engine.runtime.ProcessInstance; import org.flowable.engine.runtime.ProcessInstance;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -75,6 +76,7 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy
// 调用 // 调用
// 设置任务id // 设置任务id
copyDO.setTaskId(sourceInfo.getTaskId()); copyDO.setTaskId(sourceInfo.getTaskId());
copyDO.setTaskName(FlowableUtils.getTaskNameByTaskId(sourceInfo.getTaskId()));
copyDO.setProcessInstanceId(sourceInfo.getProcessInstanceId()); copyDO.setProcessInstanceId(sourceInfo.getProcessInstanceId());
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(sourceInfo.getProcessInstanceId()) .processInstanceId(sourceInfo.getProcessInstanceId())
@ -84,7 +86,9 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy
return false; return false;
} }
copyDO.setStartUserId(FlowableUtils.getStartUserIdFromProcessInstance(processInstance)); copyDO.setStartUserId(FlowableUtils.getStartUserIdFromProcessInstance(processInstance));
copyDO.setName(FlowableUtils.getFlowName(processInstance.getProcessDefinitionId())); copyDO.setProcessInstanceName(processInstance.getName());
ProcessDefinition processDefinition = FlowableUtils.getProcessDefinition(processInstance.getProcessDefinitionId());
copyDO.setProcessDefinitionCategory(processDefinition.getCategory());
copyDO.setReason(sourceInfo.getReason()); copyDO.setReason(sourceInfo.getReason());
copyDO.setCreator(sourceInfo.getCreator()); copyDO.setCreator(sourceInfo.getCreator());
copyDO.setCreateTime(LocalDateTime.now()); copyDO.setCreateTime(LocalDateTime.now());
@ -131,7 +135,6 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy
userIds.add(doItem.getStartUserId()); userIds.add(doItem.getStartUserId());
Long userId = Long.valueOf(doItem.getCreator()); Long userId = Long.valueOf(doItem.getCreator());
userIds.add(userId); userIds.add(userId);
doItem.setUserId(userId);
} }
Map<String, String> taskNameByTaskIds = FlowableUtils.getTaskNameByTaskIds(taskIds); Map<String, String> taskNameByTaskIds = FlowableUtils.getTaskNameByTaskIds(taskIds);

View File

@ -31,11 +31,7 @@ public class BpmProcessInstanceCopyVO {
@Schema(description = "发起人别名") @Schema(description = "发起人别名")
private String startUserNickname; private String startUserNickname;
/**
* 表单名
*/
@Schema(description = "流程实例的名字")
private String name;
/** /**
* 流程主键 * 流程主键
*/ */
@ -51,6 +47,8 @@ public class BpmProcessInstanceCopyVO {
@Schema(description = "发起抄送的任务编号") @Schema(description = "发起抄送的任务编号")
private String taskId; private String taskId;
@Schema(description = "发起抄送的任务名称")
private String taskName;
/** /**
* 用户主键 * 用户主键
*/ */
@ -60,6 +58,12 @@ public class BpmProcessInstanceCopyVO {
@Schema(description = "用户别名") @Schema(description = "用户别名")
private Long userNickname; private Long userNickname;
@Schema(description = "抄送原因")
private String reason;
@Schema(description = "抄送人")
private String creator;
@Schema(description = "抄送时间") @Schema(description = "抄送时间")
private LocalDateTime createTime; private LocalDateTime createTime;
} }

View File

@ -31,12 +31,17 @@ public class FlowableUtils {
* @param processDefinitionId * @param processDefinitionId
* @return * @return
*/ */
public static String getFlowName(String processDefinitionId) { public static String getProcessDefinitionName(String processDefinitionId) {
RepositoryService repositoryService = SpringUtil.getBean(RepositoryService.class); RepositoryService repositoryService = SpringUtil.getBean(RepositoryService.class);
ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId);
return processDefinition.getName(); return processDefinition.getName();
} }
public static ProcessDefinition getProcessDefinition(String processDefinitionId) {
RepositoryService repositoryService = SpringUtil.getBean(RepositoryService.class);
return repositoryService.getProcessDefinition(processDefinitionId);
}
/** /**
* 获取节点数据 * 获取节点数据
* *