public EastTask getEastTaskById(String taskId) { if (StringUtils.isNotEmpty(taskId)) { EastTask eastTask = eastTaskMapper.selectByPrimaryKey(taskId); if (null != eastTask) { SysDept dept = sysDeptMapper.selectByPrimaryKey(eastTask.getTaskDeptId()); EastProcess approval = eastProcessMapper.selectByPrimaryKey(eastTask.getTaskFlowId()); eastTask.setDeptName(null != dept ? dept.getDeptName() : null); eastTask.setFlowName(null != approval ? approval.getProcessName() : null); } return eastTask; } return null; }
时间: 2024-02-14 10:32:12 浏览: 15
这段代码是一个方法,用于根据 taskId 获取对应的 EastTask 对象。
首先,它会判断 taskId 是否非空。如果非空,则调用 eastTaskMapper 的 selectByPrimaryKey 方法,通过 taskId 查询对应的 EastTask 对象。
接下来,它会判断查询结果是否为 null。如果不为 null,则分别调用 sysDeptMapper 和 eastProcessMapper 的 selectByPrimaryKey 方法,通过 taskDeptId 和 taskFlowId 查询对应的 SysDept 和 EastProcess 对象。
然后,它会将查询到的部门名称和审批流程名称分别设置到 EastTask 对象的 deptName 和 flowName 属性中。
最后,它会返回查询到的 EastTask 对象。如果 taskId 为空,则返回 null。
相关问题
public SysDept getEastTaskDept(String taskId) { EastTask eastTaskById = this.getEastTaskById(taskId); if (null != eastTaskById) { Long taskDeptId = eastTaskById.getTaskDeptId(); return sysDeptMapper.selectByPrimaryKey(taskDeptId); } return null; }
这段代码是一个方法,用于根据 taskId 获取对应的 EastTask 对象,并返回其关联的 SysDept 对象。
首先,它调用了之前提到的 getEastTaskById 方法,通过 taskId 获取对应的 EastTask 对象。
接下来,它判断获取到的 EastTask 对象是否为 null。如果不为 null,则获取其 taskDeptId 属性,并调用 sysDeptMapper 的 selectByPrimaryKey 方法,通过 taskDeptId 查询对应的 SysDept 对象。
最后,它返回查询到的 SysDept 对象。如果 EastTask 对象为 null,则返回 null。
根据以下代码现在帮我解决task为null问题 Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskAssignee("admin").singleResult(); String taskId = task.getId();
在这段代码中,如果processInstanceId对应的流程实例没有与“admin”用户相关的任务,则task将为null。因此,在使用task之前,您应该检查task是否为null,以避免NullPointerException。您可以使用以下代码来检查task是否为null:
```
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskAssignee("admin").singleResult();
if (task != null) {
String taskId = task.getId();
// 执行任务相关操作
} else {
// 处理task为null的情况
}
```