|
@@ -2,22 +2,25 @@ package com.dayou.service.workflow;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.dayou.common.BaseEntity;
|
|
import com.dayou.common.BaseEntity;
|
|
import com.dayou.dto.WorkNodeCommit;
|
|
import com.dayou.dto.WorkNodeCommit;
|
|
import com.dayou.dto.WorkNodeDTO;
|
|
import com.dayou.dto.WorkNodeDTO;
|
|
import com.dayou.dto.WorkNodeInstanceTaskDTO;
|
|
import com.dayou.dto.WorkNodeInstanceTaskDTO;
|
|
-import com.dayou.entity.WorkFlow;
|
|
|
|
-import com.dayou.entity.WorkFlowNodeInstance;
|
|
|
|
-import com.dayou.entity.WorkNodeTask;
|
|
|
|
|
|
+import com.dayou.entity.*;
|
|
import com.dayou.enums.MainBusinessEnum;
|
|
import com.dayou.enums.MainBusinessEnum;
|
|
|
|
+import com.dayou.enums.ProductionEnum;
|
|
import com.dayou.enums.workflow.NodeLogEnum;
|
|
import com.dayou.enums.workflow.NodeLogEnum;
|
|
import com.dayou.enums.workflow.NodeStateEnum;
|
|
import com.dayou.enums.workflow.NodeStateEnum;
|
|
import com.dayou.exception.ErrorCode;
|
|
import com.dayou.exception.ErrorCode;
|
|
|
|
+import com.dayou.mapper.PersonalMapper;
|
|
|
|
+import com.dayou.mapper.PersonalTargetMapper;
|
|
import com.dayou.mapper.WorkFlowMapper;
|
|
import com.dayou.mapper.WorkFlowMapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.dayou.mapper.WorkTaskRecordMapper;
|
|
import com.dayou.mapper.WorkTaskRecordMapper;
|
|
import com.dayou.message.annotation.SendMessage;
|
|
import com.dayou.message.annotation.SendMessage;
|
|
|
|
+import com.dayou.service.IPersonalService;
|
|
import com.dayou.utils.LoginContext;
|
|
import com.dayou.utils.LoginContext;
|
|
import com.dayou.vo.NameCodeVO;
|
|
import com.dayou.vo.NameCodeVO;
|
|
import com.dayou.workflow.handler.AssetsNodeHandler;
|
|
import com.dayou.workflow.handler.AssetsNodeHandler;
|
|
@@ -36,6 +39,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.dayou.enums.MainBusinessEnum.*;
|
|
import static com.dayou.enums.MainBusinessEnum.*;
|
|
import static com.dayou.enums.workflow.NodeLogEnum.*;
|
|
import static com.dayou.enums.workflow.NodeLogEnum.*;
|
|
|
|
+import static com.dayou.enums.workflow.WorkflowNodeEnum.REPORT_OUT;
|
|
import static com.dayou.message.MessageTypeEnum.NODE_TODO_REMINDER;
|
|
import static com.dayou.message.MessageTypeEnum.NODE_TODO_REMINDER;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -73,6 +77,12 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
|
|
@Autowired
|
|
@Autowired
|
|
private WorkNodeProcessable workNodeProcessable;
|
|
private WorkNodeProcessable workNodeProcessable;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private PersonalTargetMapper personalTargetMapper;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PersonalMapper personalMapper;
|
|
|
|
+
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
@@ -157,6 +167,7 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Boolean batchCommit(List<WorkNodeCommit> workNodeCommits) {
|
|
public Boolean batchCommit(List<WorkNodeCommit> workNodeCommits) {
|
|
for (WorkNodeCommit workNodeCommit : workNodeCommits){
|
|
for (WorkNodeCommit workNodeCommit : workNodeCommits){
|
|
|
|
+ appendWorkNodeCommit(workNodeCommit);
|
|
Boolean success = commit(workNodeCommit);
|
|
Boolean success = commit(workNodeCommit);
|
|
// 碰到提交失败的流程抛出异常
|
|
// 碰到提交失败的流程抛出异常
|
|
if (!success){
|
|
if (!success){
|
|
@@ -281,4 +292,16 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
|
|
}
|
|
}
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private void appendWorkNodeCommit(WorkNodeCommit workNodeCommit){
|
|
|
|
+ if (REPORT_OUT.name().equals(workNodeCommit.getNodeCode())){
|
|
|
|
+ PersonalTarget personalTarget = personalTargetMapper.selectOne(new LambdaQueryWrapper<PersonalTarget>().eq(PersonalTarget::getPersonalId, workNodeCommit.getBusinessId())
|
|
|
|
+ .select(PersonalTarget::getFeedback).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
|
+ workNodeCommit.setProduction(JSON.parseArray(personalTarget.getFeedback(), ProductionEnum.class));
|
|
|
|
+ Personal personal = personalMapper.selectOne(new LambdaQueryWrapper<Personal>().select(Personal::getClienteleId).eq(BaseEntity::getId, workNodeCommit.getBusinessId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
|
+ if (personal != null){
|
|
|
|
+ workNodeCommit.setCcId(personal.getClienteleId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|