切换mysql为达梦数据库-代码审查
1.bpm-boot模块
This commit is contained in:
@@ -26,6 +26,7 @@ import java.util.List;
|
||||
/**
|
||||
* BPM 流程分类 Service 实现类
|
||||
*
|
||||
* @author hongawen
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -46,7 +46,6 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
|
||||
|
||||
@Override
|
||||
public String createForm(BpmFormParam bpmFormParam) {
|
||||
// this.validateFields(createReqVO.getFields());
|
||||
checkFormName(bpmFormParam, false);
|
||||
// 插入
|
||||
BpmForm form = BeanUtils.toBean(bpmFormParam, BpmForm.class);
|
||||
@@ -88,13 +87,6 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
|
||||
.update();
|
||||
}
|
||||
|
||||
// private void validateFormExists(Long id) {
|
||||
// if (this.baseMapper.selectById(id) == null) {
|
||||
// throw exception(ErrorCodeConstants.FORM_NOT_EXISTS);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<BpmForm> getFormList() {
|
||||
@@ -120,7 +112,8 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
|
||||
* @param fields field 数组
|
||||
*/
|
||||
private void validateFields(List<String> fields) {
|
||||
if (true) { // TODO 芋艿:兼容 Vue3 工作流:因为采用了新的表单设计器,所以暂时不校验
|
||||
// TODO 芋艿:兼容 Vue3 工作流:因为采用了新的表单设计器,所以暂时不校验
|
||||
if (true) {
|
||||
return;
|
||||
}
|
||||
// Map<String, String> fieldMap = new HashMap<>(); // key 是 vModel,value 是 label
|
||||
|
||||
@@ -63,7 +63,8 @@ public class BpmModelServiceImpl implements IBpmModelService {
|
||||
modelQuery.modelKey(bpmModelQueryParam.getKey());
|
||||
}
|
||||
if (StrUtil.isNotBlank(bpmModelQueryParam.getName())) {
|
||||
modelQuery.modelNameLike("%" + bpmModelQueryParam.getName() + "%"); // 模糊匹配
|
||||
// 模糊匹配
|
||||
modelQuery.modelNameLike("%" + bpmModelQueryParam.getName() + "%");
|
||||
}
|
||||
if (StrUtil.isNotBlank(bpmModelQueryParam.getCategory())) {
|
||||
modelQuery.modelCategory(bpmModelQueryParam.getCategory());
|
||||
@@ -110,7 +111,7 @@ public class BpmModelServiceImpl implements IBpmModelService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class) // 因为进行多个操作,所以开启事务
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateModel(BpmModelParam.BpmModelUpdateParam updateParam) {
|
||||
// 校验流程模型存在
|
||||
Model model = getModel(updateParam.getId());
|
||||
@@ -126,7 +127,7 @@ public class BpmModelServiceImpl implements IBpmModelService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class) // 因为进行多个操作,所以开启事务
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deployModel(String id) {
|
||||
// 1.1 校验流程模型存在
|
||||
Model model = getModel(id);
|
||||
|
||||
@@ -76,9 +76,6 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
@Resource
|
||||
private IBpmProcessDefinitionService processDefinitionService;
|
||||
|
||||
// @Resource
|
||||
// private BpmMessageService messageService;
|
||||
//
|
||||
@Resource
|
||||
private UserFeignClient userFeignClient;
|
||||
|
||||
@@ -116,9 +113,11 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
.includeProcessVariables()
|
||||
.processInstanceTenantId(FlowableUtils.getTenantId())
|
||||
.orderByProcessInstanceStartTime().desc();
|
||||
if (userId != null) { // 【我的流程】菜单时,需要传递该字段
|
||||
// 【我的流程】菜单时,需要传递该字段
|
||||
if (userId != null) {
|
||||
processInstanceQuery.startedBy(userId);
|
||||
} else if (bpmProcessInstancePageParam.getStartUserId() != null) { // 【管理流程】菜单时,才会传递该字段
|
||||
// 【管理流程】菜单时,才会传递该字段
|
||||
} else if (bpmProcessInstancePageParam.getStartUserId() != null) {
|
||||
processInstanceQuery.startedBy(bpmProcessInstancePageParam.getStartUserId());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(bpmProcessInstancePageParam.getName())) {
|
||||
@@ -205,10 +204,12 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
|
||||
// 2. 创建流程实例
|
||||
if (variables == null) {
|
||||
variables = new HashMap<>();
|
||||
variables = new HashMap<>(32);
|
||||
}
|
||||
FlowableUtils.filterProcessInstanceFormVariable(variables); // 过滤一下,避免 ProcessInstance 系统级的变量被占用
|
||||
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, // 流程实例状态:审批中
|
||||
// 过滤一下,避免 ProcessInstance 系统级的变量被占用
|
||||
FlowableUtils.filterProcessInstanceFormVariable(variables);
|
||||
// 流程实例状态:审批中
|
||||
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS,
|
||||
BpmProcessInstanceStatusEnum.RUNNING.getStatus());
|
||||
if (CollUtil.isNotEmpty(startUserSelectAssignees)) {
|
||||
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_START_USER_SELECT_ASSIGNEES, startUserSelectAssignees);
|
||||
@@ -312,7 +313,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
Map<String, Object> processVariables = instance.getProcessVariables();
|
||||
if (processVariables.containsKey(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS)) {
|
||||
Integer stata = Integer.valueOf(processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS).toString());
|
||||
if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == stata) {
|
||||
if (Objects.equals(BpmProcessInstanceStatusEnum.REJECT.getStatus(), stata)) {
|
||||
processInstanceStatus = BpmProcessInstanceStatusEnum.REJECT.getStatus();
|
||||
}
|
||||
}
|
||||
@@ -326,7 +327,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
// 3. 发送流程实例的状态事件
|
||||
// 注意:此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance
|
||||
// 在审核不通过时,会触该信息,设置在审核通过时,才发送
|
||||
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == processInstanceStatus) {
|
||||
if (Objects.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus(), processInstanceStatus)) {
|
||||
HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId());
|
||||
processInstanceEventPublisher.sendProcessInstanceResultEvent(
|
||||
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus));
|
||||
|
||||
@@ -81,8 +81,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
private IProcessInstanceCopyService processInstanceCopyService;
|
||||
@Resource
|
||||
private IBpmModelService bpmModelService;
|
||||
// @Resource
|
||||
// private BpmMessageService messageService;
|
||||
|
||||
|
||||
@Resource
|
||||
private UserFeignClient adminUserApi;
|
||||
@@ -90,10 +89,12 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
@Override
|
||||
public PageResult<Task> getTaskTodoPage(String userId, BpmTaskParam.BpmTaskQueryParam bpmTaskQueryParam) {
|
||||
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||
.taskAssignee(userId) // 分配给自己
|
||||
// 分配给自己
|
||||
.taskAssignee(userId)
|
||||
.active()
|
||||
.includeProcessVariables()
|
||||
.orderByTaskCreateTime().desc(); // 创建时间倒序
|
||||
// 创建时间倒序
|
||||
.orderByTaskCreateTime().desc();
|
||||
if (StrUtil.isNotBlank(bpmTaskQueryParam.getSearchValue())) {
|
||||
taskQuery.taskNameLike("%" + bpmTaskQueryParam.getSearchValue() + "%");
|
||||
}
|
||||
@@ -115,10 +116,12 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
@Override
|
||||
public List<Task> todoAllList(String userIndex) {
|
||||
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||
.taskAssignee(userIndex) // 分配给自己
|
||||
// 分配给自己
|
||||
.taskAssignee(userIndex)
|
||||
.active()
|
||||
.includeProcessVariables()
|
||||
.orderByTaskCreateTime().desc(); // 创建时间倒序
|
||||
// 创建时间倒序
|
||||
.orderByTaskCreateTime().desc();
|
||||
return taskQuery.list();
|
||||
}
|
||||
|
||||
@@ -126,10 +129,13 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
@Override
|
||||
public PageResult<HistoricTaskInstance> getTaskDonePage(String userId, BpmTaskParam.BpmTaskQueryParam bpmTaskQueryParam) {
|
||||
HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
.finished() // 已完成
|
||||
.taskAssignee(String.valueOf(userId)) // 分配给自己
|
||||
// 已完成
|
||||
.finished()
|
||||
// 分配给自己
|
||||
.taskAssignee(String.valueOf(userId))
|
||||
.includeTaskLocalVariables()
|
||||
.orderByHistoricTaskInstanceEndTime().desc(); // 审批时间倒序
|
||||
// 审批时间倒序
|
||||
.orderByHistoricTaskInstanceEndTime().desc();
|
||||
if (StrUtil.isNotBlank(bpmTaskQueryParam.getSearchValue())) {
|
||||
taskQuery.taskNameLike("%" + bpmTaskQueryParam.getSearchValue() + "%");
|
||||
}
|
||||
@@ -327,7 +333,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
private void approveDelegateTask(BpmTaskApproveParam bpmTaskApproveParam, Task task) {
|
||||
// 1. 添加审批意见
|
||||
UserVO currentUser = adminUserApi.getUserById(RequestUtil.getUserIndex()).getData();
|
||||
UserVO ownerUser = adminUserApi.getUserById(task.getOwner()).getData(); // 发起委托的用户
|
||||
// 发起委托的用户
|
||||
UserVO ownerUser = adminUserApi.getUserById(task.getOwner()).getData();
|
||||
Assert.notNull(ownerUser, "委派任务找不到原审批人,需要检查数据");
|
||||
taskService.addComment(bpmTaskApproveParam.getId(), task.getProcessInstanceId(), BpmCommentTypeEnum.DELEGATE_END.getType(),
|
||||
BpmCommentTypeEnum.DELEGATE_END.formatComment(currentUser.getName(), ownerUser.getName(), bpmTaskApproveParam.getReason()));
|
||||
@@ -463,6 +470,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
// return historyService.createHistoricTaskInstanceQuery().taskId(id).includeTaskLocalVariables().singleResult();
|
||||
// }
|
||||
//
|
||||
|
||||
|
||||
@Override
|
||||
public List<UserTask> getUserTaskListByReturn(String id) {
|
||||
// 1.1 校验当前任务 task 存在
|
||||
@@ -558,8 +567,10 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
// 3. 执行驳回
|
||||
runtimeService.createChangeActivityStateBuilder()
|
||||
.processInstanceId(currentTask.getProcessInstanceId())
|
||||
.moveActivityIdsToSingleActivityId(returnTaskKeyList, // 当前要跳转的节点列表( 1 或多)
|
||||
bpmTaskReturnParam.getTargetTaskDefinitionKey()) // targetKey 跳转到的节点(1)
|
||||
// 当前要跳转的节点列表( 1 或多)
|
||||
.moveActivityIdsToSingleActivityId(returnTaskKeyList,
|
||||
// targetKey 跳转到的节点(1)
|
||||
bpmTaskReturnParam.getTargetTaskDefinitionKey())
|
||||
.changeState();
|
||||
}
|
||||
|
||||
@@ -569,7 +580,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
String taskId = reqVO.getId();
|
||||
// 1.1 校验任务
|
||||
Task task = validateTask(userId, reqVO.getId());
|
||||
if (task.getAssignee().equals(reqVO.getDelegateUserId())) { // 校验当前审批人和被委派人不是同一人
|
||||
// 校验当前审批人和被委派人不是同一人
|
||||
if (task.getAssignee().equals(reqVO.getDelegateUserId())) {
|
||||
throw new BusinessException(BpmResponseEnum.TASK_DELEGATE_FAIL_USER_REPEAT);
|
||||
}
|
||||
// 1.2 校验目标用户存在
|
||||
@@ -596,7 +608,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
String taskId = reqVO.getId();
|
||||
// 1.1 校验任务
|
||||
Task task = validateTask(userId, reqVO.getId());
|
||||
if (task.getAssignee().equals(reqVO.getAssigneeUserId())) { // 校验当前审批人和被转派人不是同一人
|
||||
// 校验当前审批人和被转派人不是同一人
|
||||
if (task.getAssignee().equals(reqVO.getAssigneeUserId())) {
|
||||
throw new BusinessException(BpmResponseEnum.TASK_DELEGATE_FAIL_USER_NOT_EXISTS);
|
||||
}
|
||||
// 1.2 校验目标用户存在
|
||||
@@ -614,7 +627,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
taskService.setOwner(taskId, task.getAssignee());
|
||||
// 3.2 执行转派(审批人),将任务转派给 assigneeUser
|
||||
// 委托( delegate)和转派(transfer)的差别,就在这块的调用!!!!
|
||||
taskService.setAssignee(taskId, reqVO.getAssigneeUserId().toString());
|
||||
taskService.setAssignee(taskId, reqVO.getAssigneeUserId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,14 +34,14 @@ public class ProcessInstanceCopyServiceImpl extends ServiceImpl<ProcessInstanceC
|
||||
|
||||
|
||||
@Resource
|
||||
@Lazy // 延迟加载,避免循环依赖
|
||||
@Lazy
|
||||
private IBpmTaskService taskService;
|
||||
|
||||
@Resource
|
||||
@Lazy // 延迟加载,避免循环依赖
|
||||
@Lazy
|
||||
private IBpmProcessInstanceService processInstanceService;
|
||||
@Resource
|
||||
@Lazy // 延迟加载,避免循环依赖
|
||||
@Lazy
|
||||
private IBpmProcessDefinitionService processDefinitionService;
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user