|
@@ -1,11 +1,13 @@
|
|
|
package cn.iocoder.yudao.module.bpm.service.oa.entry;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo.OaEntryPageReqVO;
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo.OaEntrySaveReqVO;
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
|
|
|
+import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskReturnReqVO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.entry.OaEntryDO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.entry.OaEntryMapper;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
@@ -74,10 +76,13 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
// 发起 BPM 流程
|
|
|
Map<String, Object> processInstanceVariables = new HashMap<>();
|
|
|
processInstanceVariables.put("auditPass",auditPass);
|
|
|
+ //添加审批人信息
|
|
|
+ Map<String, List<Long>> startUserSelectAssignees = new HashMap<>();
|
|
|
+ startUserSelectAssignees.put("approver",createReqVO.getStartUserSelectAssignees());
|
|
|
String processInstanceId = processInstanceApi.createProcessInstance(userId,
|
|
|
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
|
|
|
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaEntry.getId()))
|
|
|
- .setStartUserSelectAssignees(createReqVO.getStartUserSelectAssignees()));
|
|
|
+ .setStartUserSelectAssignees(startUserSelectAssignees));
|
|
|
|
|
|
//获取下一个审批人
|
|
|
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
@@ -91,8 +96,10 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
|
|
|
|
//保存附件uuid
|
|
|
- LambdaUpdateWrapper<FileDTO> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.in(FileDTO::getId, createReqVO.getFileIdList()).set(FileDTO::getServiceId, uuid);
|
|
|
+ if (CollectionUtil.isNotEmpty(createReqVO.getFileIdList())) {
|
|
|
+ LambdaUpdateWrapper<FileDTO> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.in(FileDTO::getId, createReqVO.getFileIdList()).set(FileDTO::getServiceId, uuid);
|
|
|
+ }
|
|
|
// todo 站内信发送
|
|
|
// loanInfoService.sendMassage(actBaseInfo);
|
|
|
// 返回
|
|
@@ -113,10 +120,13 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
// 发起 BPM 流程
|
|
|
Map<String, Object> processInstanceVariables = new HashMap<>();
|
|
|
processInstanceVariables.put("auditPass", auditPass);
|
|
|
+ //添加审批人信息
|
|
|
+ Map<String, List<Long>> startUserSelectAssignees = new HashMap<>();
|
|
|
+ startUserSelectAssignees.put("approver",createReqVO.getStartUserSelectAssignees());
|
|
|
String processInstanceId = processInstanceApi.createProcessInstance(userId,
|
|
|
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
|
|
|
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaEntry.getId()))
|
|
|
- .setStartUserSelectAssignees(createReqVO.getStartUserSelectAssignees()));
|
|
|
+ .setStartUserSelectAssignees(startUserSelectAssignees));
|
|
|
|
|
|
// 将工作流的编号,单据状态 更新到 OA 入职中
|
|
|
oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setProcInstId(processInstanceId).setAuditStatus("1"));
|
|
@@ -145,6 +155,15 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
// 将单据状态 更新到 OA 入职中
|
|
|
oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setAuditStatus("3").setCurrentAuditEmployeeId(" ").setFinalAuditDate(new Date()));
|
|
|
}
|
|
|
+ }else {
|
|
|
+// //审批不通过
|
|
|
+// BpmTaskReturnReqVO bpmTaskReturnReqVO =new BpmTaskReturnReqVO();
|
|
|
+// bpmTaskReturnReqVO.setId(reqVO.getId());
|
|
|
+// bpmTaskReturnReqVO.setReason(reqVO.getReason());
|
|
|
+// bpmTaskReturnReqVO.setTargetTaskDefinitionKey("");
|
|
|
+// bpmTaskService.returnTask(userId,reqVO);
|
|
|
+// // 将单据状态 当前审批人 最后一次审批时间 更新到 OA 入职中
|
|
|
+// oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setAuditStatus("4").setCurrentAuditEmployeeId(" ").setFinalAuditDate(new Date()));
|
|
|
}
|
|
|
}
|
|
|
|