Compare commits

..

No commits in common. 'f6a18396472bf30e45898e9b01933abe59ede9c8' and 'd5ff40103c2c83e67beabc0b2b8a63a26506e295' have entirely different histories.

@ -155,13 +155,7 @@ public interface IFlowTaskService {
* @param processInstanceId
*/
public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId,String deptid);
/**
*
* @param userTask
* @param startUserId
* @return
*/
public List<String> getAssignee(UserTask userTask,String startUserId);
/**
*
*

@ -94,9 +94,8 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
List<String> loginnames = flowTaskService.getAssignee(userTask,userName);
if(null != loginnames && !loginnames.isEmpty()){
variables.put("persons",loginnames);
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
variables.put("persons",userTask.getCandidateUsers());
}
}
}
@ -180,9 +179,8 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
List<String> loginnames = flowTaskService.getAssignee(userTask,userName);
if(null != loginnames && !loginnames.isEmpty()){
variables.put("persons",loginnames);
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
variables.put("persons",userTask.getCandidateUsers());
}
}
}

@ -31,7 +31,6 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userdistionary;
import cn.jyjz.xiaoyao.oa.from.service.*;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
@ -117,8 +116,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Resource
private IOcrMsgService ocrMsgService;
@Resource
private UserdistionaryService userdistionaryService;
@Override
public void myTodoTaskList(PageUtils vo, HttpServletRequest request) {
@ -566,9 +564,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
List<String> loginnames = this.getAssignee(userTask,model.getCreateuser());
if(null != loginnames && !loginnames.isEmpty()){
variables.put("persons",loginnames);
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
variables.put("persons",userTask.getCandidateUsers());
}
}
}
@ -780,47 +777,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return activeActivityIds;
}
/**
*
* @param userTask
* @param loginname
* @return
*/
public List<String> getAssignee(UserTask userTask,String loginname){
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
//获取候选用户集合
List<String> loginnames = userTask.getCandidateUsers();
//顺序设置审批用户
return loginnames;
}else {
//得到候选组
List<String> candidateGroups = userTask.getCandidateGroups();
if(null != candidateGroups && !candidateGroups.isEmpty()){
List<User> listusers = new ArrayList<>();
for(String groupid:candidateGroups){
//排除不在同一个公司的人员
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,loginname);
List<Long> listuserid = userdistionaryList.stream().map(Userdistionary::getUserid).collect(Collectors.toList());
if(null!= listuserid && !listuserid.isEmpty()){
listusers.addAll(this.userService.selectUserById(listuserid));
}
}
if(null != listusers && !listusers.isEmpty()){
List<String> loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList());
return loginnames;
}
}
}
return null;
}
/**
*
*
@ -836,7 +792,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//记录审批人信息
StringBuffer assignee = new StringBuffer();
int taskIndex = 0;
for (Task task : taskList) {
//传节点定义key获取当前节点
@ -844,47 +799,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (flowElement instanceof UserTask && StringUtils.isBlank(task.getAssignee())) {
UserTask userTask = (UserTask) flowElement;
MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
//获取候选用户集合
List<String> loginnames = userTask.getCandidateUsers();
//顺序设置审批用户
taskService.setAssignee(task.getId(), loginnames.get(taskIndex));
}else {
//得到候选组
List<String> candidateGroups = userTask.getCandidateGroups();
if(null != candidateGroups && !candidateGroups.isEmpty()){
flowTaskCompleteVO = new FlowTaskCompleteVO();
flowTaskCompleteVO.setTaskId(task.getId());
List<User> listusers = new ArrayList<>();
for(String groupid:candidateGroups){
//获取发起人员信息
HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
//发起人员登录账号
String startUserId = hi.getStartUserId();
//排除不在同一个公司的人员
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,startUserId);
List<Long> listuserid = userdistionaryList.stream().map(Userdistionary::getUserid).collect(Collectors.toList());
listusers.addAll(this.userService.selectUserById(listuserid));
}
if(null != listusers && !listusers.isEmpty()){
List<String> loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList());
//顺序设置审批用户
taskService.setAssignee(task.getId(), loginnames.get(taskIndex));
}
}
}
taskIndex++;
}else{
//如果审批不存在,需要在候选组中查询
if (StringUtils.isBlank(userTask.getAssignee())) {
//得到候选人
@ -914,7 +828,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
}
}
}
log.info("task.getAssignee()={}", task.getAssignee());

Loading…
Cancel
Save