为oa薪资付款流程添加岗位信息判断逻辑

在处理oa薪资付款流程时,添加逻辑以判断和设置公司部门标志,确保流程实例数据的一致性和完整性。
This commit is contained in:
furongxin 2024-09-19 11:06:18 +08:00
parent 683af12297
commit 2b706d5dcb

View File

@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessI
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.oa.BpmOASalaryDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASealDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
@ -27,6 +28,7 @@ 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.bpm.service.oa.BpmOASalaryService;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOASealService;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@ -112,6 +114,9 @@ public class BpmTaskServiceImpl implements BpmTaskService {
@Resource
private BpmOASealService bpmOASealService;
@Resource
private BpmOASalaryService bpmOASalaryService;
@Override
public PageResult<BpmTaskCCPageItemRespVO> getCCTaskPage(Long userId, BpmTaskDonePageReqVO pageVO) {
// 查询被抄送的Task
@ -544,6 +549,16 @@ public class BpmTaskServiceImpl implements BpmTaskService {
}
}
// 判断 薪资付款流程时
if (instance.getProcessDefinitionId().contains("oa_salary")) {
BpmOASalaryDO salaryDO = bpmOASalaryService.getByProcessInstanceId(instance.getProcessInstanceId());
if (salaryDO != null) {
DeptRespDTO dto = deptApi.getDept(salaryDO.getCompanyDeptId()).getCheckedData();
paramMap.put("company_dept_flag", dto.getFlag()); //配置工厂idflag
}
}
ArrayList<Long> list = new ArrayList<>(postIds);
// 只获配置的首个岗位
Long postId = list.get(0);