|
|
@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
-import cn.iocoder.yudao.framework.security.core.LoginUser;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
|
@@ -23,12 +22,10 @@ import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.flowable.engine.TaskService;
|
|
|
import org.flowable.task.api.Task;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
@@ -167,29 +164,31 @@ public class OaUniversalServiceImpl implements OaUniversalService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Long completeTrueOaUniversal(Long userId, BpmTaskApproveReqVO reqVO) {
|
|
|
- Task currentTask = bpmTaskService.getTask(reqVO.getId());
|
|
|
+ public Long agreeOaUniversal(BpmTaskApproveReqVO approveReqVO) {
|
|
|
+ // 登录人信息
|
|
|
+ Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ // TODO DP 根据登录人查询出对应的员工信息
|
|
|
+
|
|
|
+ Task currentTask = bpmTaskService.getTask(approveReqVO.getId());
|
|
|
// 审批同意
|
|
|
- bpmTaskService.approveTask(userId, reqVO);
|
|
|
+ approveReqVO.setReason("[同意]" + approveReqVO.getReason());
|
|
|
+ bpmTaskService.approveTask(loginUserId, approveReqVO);
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
if (nextTask != null) {
|
|
|
LambdaUpdateWrapper<OaUniversalDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- updateWrapper.set(OaUniversalDO::getAuditStatus, "2")
|
|
|
+ updateWrapper.set(OaUniversalDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_AUDITING)
|
|
|
.set(OaUniversalDO::getCurrentAuditEmployeeId, nextTask.getAssignee())
|
|
|
- .set(OaUniversalDO::getFinalAuditDate, new Date())
|
|
|
- .eq(OaUniversalDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
|
+ .set(OaUniversalDO::getFinalAuditDate, LocalDateTime.now());
|
|
|
oaUniversalMapper.update(updateWrapper);
|
|
|
} else {
|
|
|
LambdaUpdateWrapper<OaUniversalDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- updateWrapper.set(OaUniversalDO::getAuditStatus, "3")
|
|
|
+ updateWrapper.set(OaUniversalDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_AUDITED)
|
|
|
.set(OaUniversalDO::getCurrentAuditEmployeeId, null)
|
|
|
- .set(OaUniversalDO::getFinalAuditDate, new Date())
|
|
|
- .eq(OaUniversalDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
|
+ .set(OaUniversalDO::getFinalAuditDate, new Date());
|
|
|
oaUniversalMapper.update(updateWrapper);
|
|
|
|
|
|
// TODO 复制业务单据信息到业务模块单据表
|
|
|
-
|
|
|
}
|
|
|
// 发送通知
|
|
|
|
|
|
@@ -197,6 +196,59 @@ public class OaUniversalServiceImpl implements OaUniversalService {
|
|
|
return 1L;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Long disagreeOaUniversal(BpmTaskReturnReqVO returnReqVO) {
|
|
|
+ // 登录人信息
|
|
|
+ Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ // TODO DP 根据登录人查询出对应的员工信息
|
|
|
+
|
|
|
+ Task currentTask = bpmTaskService.getTask(returnReqVO.getId());
|
|
|
+
|
|
|
+ returnReqVO.setTargetTaskDefinitionKey("modifyApply");
|
|
|
+ returnReqVO.setReason("[驳回]" + returnReqVO.getReason());
|
|
|
+ bpmTaskService.returnTask(loginUserId, returnReqVO);
|
|
|
+
|
|
|
+ Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
+
|
|
|
+ // 更新单据状态,当前处理人,最后处理时间
|
|
|
+ LambdaUpdateWrapper<OaUniversalDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.set(OaUniversalDO::getCurrentAuditEmployeeId, nextTask.getAssignee())
|
|
|
+ .set(OaUniversalDO::getFinalAuditDate, LocalDateTime.now())
|
|
|
+ .set(OaUniversalDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_REJECTED);
|
|
|
+ oaUniversalMapper.update(updateWrapper);
|
|
|
+
|
|
|
+ // 发送通知
|
|
|
+
|
|
|
+ return 1L;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Long revocationOaUniversal(BpmTaskApproveReqVO approveReqVO) {
|
|
|
+ // 登录人信息
|
|
|
+ Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ // TODO DP 根据登录人查询出对应的员工信息
|
|
|
+
|
|
|
+ Task currentTask = bpmTaskService.getTask(approveReqVO.getId());
|
|
|
+
|
|
|
+ BpmTaskReturnReqVO returnReqVO = BeanUtils.toBean(approveReqVO, BpmTaskReturnReqVO.class);
|
|
|
+ returnReqVO.setTargetTaskDefinitionKey("modifyApply");
|
|
|
+ returnReqVO.setReason("[撤回]" + returnReqVO.getReason());
|
|
|
+ bpmTaskService.returnTask(loginUserId, returnReqVO);
|
|
|
+
|
|
|
+ Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
+
|
|
|
+ // 更新单据状态,当前处理人,最后处理时间
|
|
|
+ LambdaUpdateWrapper<OaUniversalDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.set(OaUniversalDO::getCurrentAuditEmployeeId, nextTask.getAssignee())
|
|
|
+ .set(OaUniversalDO::getFinalAuditDate, LocalDateTime.now())
|
|
|
+ .set(OaUniversalDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_REJECTED);
|
|
|
+ oaUniversalMapper.update(updateWrapper);
|
|
|
+
|
|
|
+ // 发送通知
|
|
|
+
|
|
|
+ return 1L;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Long completeFalseOaUniversal(Long userId, BpmTaskApproveReqVO reqVO) {
|
|
|
|