|
@@ -22,6 +22,8 @@ import cn.iocoder.yudao.module.bpm.enums.DictDataConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
|
|
import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
@@ -30,7 +32,6 @@ import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
-import liquibase.pro.packaged.L;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.flowable.engine.TaskService;
|
|
import org.flowable.engine.TaskService;
|
|
|
import org.flowable.task.api.Task;
|
|
import org.flowable.task.api.Task;
|
|
@@ -78,18 +79,25 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
@Resource
|
|
@Resource
|
|
|
private AdminUserApi adminUserApi;
|
|
private AdminUserApi adminUserApi;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- @Transactional
|
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Long stagingOaEntry(OaEntrySaveReqVO stagingReqVO) {
|
|
public Long stagingOaEntry(OaEntrySaveReqVO stagingReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
|
Objects.requireNonNull(loginUser, "登录用户不能为空");
|
|
Objects.requireNonNull(loginUser, "登录用户不能为空");
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
- AdminUserRespDTO applyEmployee = loginUser;
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUser.getId());
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
OaEntryDO oaEntry = BeanUtils.toBean(stagingReqVO, OaEntryDO.class);
|
|
OaEntryDO oaEntry = BeanUtils.toBean(stagingReqVO, OaEntryDO.class);
|
|
|
if (StringUtils.isBlank(oaEntry.getEntryId())) {
|
|
if (StringUtils.isBlank(oaEntry.getEntryId())) {
|
|
|
// 创建单据uuid
|
|
// 创建单据uuid
|
|
@@ -98,8 +106,9 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
}
|
|
|
oaEntry.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_STAGING);
|
|
oaEntry.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_STAGING);
|
|
|
oaEntry.setInfoSource("0");
|
|
oaEntry.setInfoSource("0");
|
|
|
- oaEntry.setApplyEmployeeId(applyEmployee.getId());
|
|
|
|
|
- oaEntry.setApplyEmployeeName(applyEmployee.getNickname());
|
|
|
|
|
|
|
+ oaEntry.setApplyEmployeeId(loginEmployee.getId());
|
|
|
|
|
+ oaEntry.setApplyEmployeeName(loginEmployee.getName());
|
|
|
|
|
+ oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
|
|
|
// 暂存不保存审批人信息
|
|
// 暂存不保存审批人信息
|
|
|
oaEntry.setStartUserSelectAssignees(null);
|
|
oaEntry.setStartUserSelectAssignees(null);
|
|
|
// 保存或更新表单信息
|
|
// 保存或更新表单信息
|
|
@@ -116,7 +125,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- @Transactional
|
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Long commitOaEntry(OaEntrySaveReqVO commitReqVO) {
|
|
public Long commitOaEntry(OaEntrySaveReqVO commitReqVO) {
|
|
|
if (CollectionUtil.isEmpty(commitReqVO.getStartUserSelectAssignees())) {
|
|
if (CollectionUtil.isEmpty(commitReqVO.getStartUserSelectAssignees())) {
|
|
|
throw exception(ErrorCodeConstants.TASK_CREATE_FAIL_NO_START_SELECT_ASSIGNEE);
|
|
throw exception(ErrorCodeConstants.TASK_CREATE_FAIL_NO_START_SELECT_ASSIGNEE);
|
|
@@ -125,8 +134,11 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
|
Objects.requireNonNull(loginUser, "登录用户不能为空");
|
|
Objects.requireNonNull(loginUser, "登录用户不能为空");
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
- AdminUserRespDTO applyEmployee = loginUser;
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
OaEntryDO oaEntry = BeanUtils.toBean(commitReqVO, OaEntryDO.class);
|
|
OaEntryDO oaEntry = BeanUtils.toBean(commitReqVO, OaEntryDO.class);
|
|
|
if (StringUtils.isBlank(oaEntry.getEntryId())) {
|
|
if (StringUtils.isBlank(oaEntry.getEntryId())) {
|
|
@@ -135,8 +147,9 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
oaEntry.setEntryId(uuid);
|
|
oaEntry.setEntryId(uuid);
|
|
|
}
|
|
}
|
|
|
oaEntry.setInfoSource("0");
|
|
oaEntry.setInfoSource("0");
|
|
|
- oaEntry.setApplyEmployeeId(applyEmployee.getId());
|
|
|
|
|
- oaEntry.setApplyEmployeeName(applyEmployee.getNickname());
|
|
|
|
|
|
|
+ oaEntry.setApplyEmployeeId(loginEmployee.getId());
|
|
|
|
|
+ oaEntry.setApplyEmployeeName(loginEmployee.getName());
|
|
|
|
|
+ oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
|
|
|
// 保存或更新表单信息
|
|
// 保存或更新表单信息
|
|
|
if (oaEntry.getId() == null) {
|
|
if (oaEntry.getId() == null) {
|
|
|
oaEntryMapper.insert(oaEntry);
|
|
oaEntryMapper.insert(oaEntry);
|
|
@@ -155,7 +168,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
List<Long> selectAssignees = commitReqVO.getStartUserSelectAssignees();
|
|
List<Long> selectAssignees = commitReqVO.getStartUserSelectAssignees();
|
|
|
startUserSelectAssignees.put("approver", selectAssignees);
|
|
startUserSelectAssignees.put("approver", selectAssignees);
|
|
|
String processInstanceId = processInstanceApi
|
|
String processInstanceId = processInstanceApi
|
|
|
- .createProcessInstance(loginUser.getId(),
|
|
|
|
|
|
|
+ .createProcessInstance(loginEmployee.getId(),
|
|
|
new BpmProcessInstanceCreateReqDTO()
|
|
new BpmProcessInstanceCreateReqDTO()
|
|
|
.setProcessDefinitionKey(PROCESS_KEY)
|
|
.setProcessDefinitionKey(PROCESS_KEY)
|
|
|
.setVariables(processInstanceVariables)
|
|
.setVariables(processInstanceVariables)
|
|
@@ -172,7 +185,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_COMMITTED));
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_COMMITTED));
|
|
|
taskService.setVariable(task.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
taskService.setVariable(task.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
|
taskService.setVariable(task.getId(), "auditPass", "true");
|
|
taskService.setVariable(task.getId(), "auditPass", "true");
|
|
|
- bpmTaskService.approveTask(loginUserId, agreeReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), agreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
|
if (nextTask == null) {
|
|
if (nextTask == null) {
|
|
@@ -198,7 +211,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
public Long agreeOaEntry(BpmTaskApproveReqVO agreeReqVO) {
|
|
public Long agreeOaEntry(BpmTaskApproveReqVO agreeReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(agreeReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(agreeReqVO.getId());
|
|
|
if (currentTask == null) {
|
|
if (currentTask == null) {
|
|
@@ -226,7 +240,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
agreeReqVO.setReason(reason);
|
|
agreeReqVO.setReason(reason);
|
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_AUDITING));
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_AUDITING));
|
|
|
taskService.setVariable(agreeReqVO.getId(), "auditPass", "true");
|
|
taskService.setVariable(agreeReqVO.getId(), "auditPass", "true");
|
|
|
- bpmTaskService.approveTask(loginUserId, agreeReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), agreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
OaEntryDO oaEntryDO = new OaEntryDO();
|
|
OaEntryDO oaEntryDO = new OaEntryDO();
|
|
@@ -259,7 +273,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
public Long disagreeOaEntry(BpmTaskReturnReqVO disagreeReqVO) {
|
|
public Long disagreeOaEntry(BpmTaskReturnReqVO disagreeReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(disagreeReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(disagreeReqVO.getId());
|
|
|
|
|
|
|
@@ -267,8 +282,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
disagreeReqVO.setReason("[驳回]" + disagreeReqVO.getReason());
|
|
disagreeReqVO.setReason("[驳回]" + disagreeReqVO.getReason());
|
|
|
disagreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RETURNED));
|
|
disagreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RETURNED));
|
|
|
taskService.setVariable(disagreeReqVO.getId(), "auditPass", "false");
|
|
taskService.setVariable(disagreeReqVO.getId(), "auditPass", "false");
|
|
|
- taskService.setVariable(disagreeReqVO.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RETURNED);
|
|
|
|
|
- bpmTaskService.returnTask(loginUserId, disagreeReqVO);
|
|
|
|
|
|
|
+ taskService.setVariable(disagreeReqVO.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RETURNED);
|
|
|
|
|
+ bpmTaskService.returnTask(loginEmployee.getId(), disagreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
|
|
|
|
@@ -290,7 +305,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
public Long revocationOaEntry(BpmTaskApproveReqVO revocationReqVO) {
|
|
public Long revocationOaEntry(BpmTaskApproveReqVO revocationReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(revocationReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(revocationReqVO.getId());
|
|
|
if (currentTask == null) {
|
|
if (currentTask == null) {
|
|
@@ -300,7 +316,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
.eq(OaEntryDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
.eq(OaEntryDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
|
OaEntryDO oaEntryDO = oaEntryMapper.selectOne(lambdaQueryWrapper);
|
|
OaEntryDO oaEntryDO = oaEntryMapper.selectOne(lambdaQueryWrapper);
|
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaEntryDO.getAuditStatus())
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaEntryDO.getAuditStatus())
|
|
|
- || !Objects.equals(String.valueOf(loginUserId), oaEntryDO.getCreator())) {
|
|
|
|
|
|
|
+ || !Objects.equals(String.valueOf(loginEmployee.getId()), oaEntryDO.getCreator())) {
|
|
|
throw ServiceExceptionUtil.exception(ErrorCodeConstants.TASK_REVOCATION_NOT_ALLOWED);
|
|
throw ServiceExceptionUtil.exception(ErrorCodeConstants.TASK_REVOCATION_NOT_ALLOWED);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -312,8 +328,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
}
|
|
|
returnReqVO.setReason(reason);
|
|
returnReqVO.setReason(reason);
|
|
|
returnReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RECALLED));
|
|
returnReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RECALLED));
|
|
|
- taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RECALLED);
|
|
|
|
|
- bpmTaskService.revocationTask(loginUserId, returnReqVO);
|
|
|
|
|
|
|
+ taskService.setVariable(currentTask.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RECALLED);
|
|
|
|
|
+ bpmTaskService.revocationTask(loginEmployee.getId(), returnReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
|
|
|
|
@@ -338,7 +354,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
}
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
OaEntryDO oaEntryNew = BeanUtils.toBean(reCommitReqVO, OaEntryDO.class);
|
|
OaEntryDO oaEntryNew = BeanUtils.toBean(reCommitReqVO, OaEntryDO.class);
|
|
|
OaEntryDO oaEntryOld = validateOaEntryExists(oaEntryNew.getId());
|
|
OaEntryDO oaEntryOld = validateOaEntryExists(oaEntryNew.getId());
|
|
@@ -362,7 +379,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "true");
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "true");
|
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
|
// 再次提交,和审批通过逻辑相同
|
|
// 再次提交,和审批通过逻辑相同
|
|
|
- bpmTaskService.approveTask(loginUserId, approveReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), approveReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
oaEntryNew.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
oaEntryNew.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
@@ -384,7 +401,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
}
|
|
}
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
OaEntryDO oaEntryDO = validateOaEntryExists(id);
|
|
OaEntryDO oaEntryDO = validateOaEntryExists(id);
|
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_RETURNED.equals(oaEntryDO.getAuditStatus())
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_RETURNED.equals(oaEntryDO.getAuditStatus())
|
|
@@ -400,7 +418,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "false");
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "false");
|
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_CLOSED);
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_CLOSED);
|
|
|
// 关闭,使用审批通过的方法实现
|
|
// 关闭,使用审批通过的方法实现
|
|
|
- bpmTaskService.approveTask(loginUserId, approveReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), approveReqVO);
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<OaEntryDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<OaEntryDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
lambdaUpdateWrapper.set(OaEntryDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_CLOSED)
|
|
lambdaUpdateWrapper.set(OaEntryDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_CLOSED)
|
|
@@ -424,7 +442,8 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
public OaEntryRespVO getOaEntry(Long id) {
|
|
public OaEntryRespVO getOaEntry(Long id) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
|
|
OaEntryDO oaEntryDO = validateOaEntryExists(id);
|
|
OaEntryDO oaEntryDO = validateOaEntryExists(id);
|
|
|
OaEntryRespVO oaEntryRespVO = BeanUtils.toBean(oaEntryDO, OaEntryRespVO.class);
|
|
OaEntryRespVO oaEntryRespVO = BeanUtils.toBean(oaEntryDO, OaEntryRespVO.class);
|
|
@@ -439,7 +458,7 @@ public class OaEntryServiceImpl implements OaEntryService {
|
|
|
if (StrUtil.isNotBlank(procInstId)) {
|
|
if (StrUtil.isNotBlank(procInstId)) {
|
|
|
Task task = taskService.createTaskQuery()
|
|
Task task = taskService.createTaskQuery()
|
|
|
.processInstanceId(procInstId)
|
|
.processInstanceId(procInstId)
|
|
|
- .taskAssignee(String.valueOf(loginUserId))
|
|
|
|
|
|
|
+ .taskAssignee(String.valueOf(loginEmployee.getId()))
|
|
|
.singleResult();
|
|
.singleResult();
|
|
|
if (DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaEntryDO.getAuditStatus())) {
|
|
if (DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaEntryDO.getAuditStatus())) {
|
|
|
// 如果是已提交,不限制任务处理人是当前登录人,用于直接撤回
|
|
// 如果是已提交,不限制任务处理人是当前登录人,用于直接撤回
|