diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryService.java index b98bb697..63433a78 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryService.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryService.java @@ -30,4 +30,11 @@ public interface BpmOAEntryService { * @return 入职申请信息 */ BpmOAEntryDO getEntry(Long id); + + /** + * 获得入职申请 + * @param processInstanceId 流程实例编号 + * @return 入职申请信息 + */ + BpmOAEntryDO getEntryByProcessInstanceId(String processInstanceId); } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryServiceImpl.java index 1d526fd8..b909103b 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAEntryServiceImpl.java @@ -145,4 +145,10 @@ public class BpmOAEntryServiceImpl implements BpmOAEntryService{ return entryMapper.selectById(id); } + + @Override + public BpmOAEntryDO getEntryByProcessInstanceId(String processInstanceId) { + + return entryMapper.selectOne(BpmOAEntryDO::getProcessInstanceId, processInstanceId); + } } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index 95a82312..16ebc133 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -16,6 +16,7 @@ import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceMyPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAEntryDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; @@ -24,6 +25,7 @@ import cn.iocoder.yudao.module.bpm.enums.task.*; import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService; import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAEntryService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; @@ -102,6 +104,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { @Resource private BpmProcessInstanceExtMapper processInstanceExtMapper; + @Resource + private BpmOAEntryService bpmOAEntryService; + @Override public PageResult getCCTaskPage(Long userId, BpmTaskDonePageReqVO pageVO) { // 查询被抄送的Task @@ -413,6 +418,17 @@ public class BpmTaskServiceImpl implements BpmTaskService { // throw exception(TASK_OPERATE_FAIL_USER_NO_DEPT); // } + // 判断 入职申请流程时 + if (instance.getProcessDefinitionId().contains("oa_entry")) { + + BpmOAEntryDO entryDO = bpmOAEntryService.getEntryByProcessInstanceId(instance.getProcessInstanceId()); + if (entryDO != null) { + + DeptRespDTO dto = deptApi.getDept(entryDO.getEntryDeptId()).getCheckedData(); + paramMap.put("entry_dept_flag", dto.getFlag()); //配置入职部门flag + } + } + ArrayList list = new ArrayList<>(postIds); // 只获配置的首个岗位 Long postId = list.get(0);