fix: 修改终审列表

pull/138/head
sunchenliang 1 year ago
parent dd5b553c74
commit 53fd9afc15

@ -496,7 +496,7 @@ public class FlowTaskController extends BaseController {
Map<String, Object> query = searchQuery.getQuery();
flowTaskService.getFinalProcessInstances(query, pageUtils);
flowTaskService.getFinalProcessInstances(query, pageUtils,user);
return ResultVoUtil.success(pageUtils);
}

@ -13,11 +13,8 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.flowable.bpmn.model.UserTask;
@ -102,9 +99,10 @@ public interface IFlowTaskService {
*
* @param query
* @param pageUtils
* @param user
* @return
*/
public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils);
public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils, User user);
/**

@ -16,7 +16,6 @@ import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.oa.from.dataDao.FlowableccMybatisDao;
import cn.jyjz.xiaoyao.oa.from.dataDao.IHisFlowableActinstDao;
import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
import cn.jyjz.flowable.factory.FlowServiceFactory;
import cn.jyjz.flowable.service.IFlowTaskService;
@ -36,7 +35,6 @@ import cn.jyjz.xiaoyao.oa.from.service.*;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
@ -119,6 +117,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
private IOcrMsgService ocrMsgService;
@Resource
private UserdistionaryService userdistionaryService;
@Override
public void myTodoTaskList(PageUtils vo, HttpServletRequest request) {
@ -435,7 +434,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
public UserTask getNextTasks(String processDefinitionId ){
public UserTask getNextTasks(String processDefinitionId) {
//流程实例id
//String processInstanceId = "5b945750-81db-11e9-a576-1a73f8e23adc";
@ -463,7 +462,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return null;
}
public UserTask getNextTasks(Task task){
public UserTask getNextTasks(Task task) {
//获取流程发布Id信息
String definitionId = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
@ -512,6 +511,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
}
}
/**
*
*/
@ -562,13 +562,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//获取下一个节点
UserTask userTask = this.getNextTasks(task);
if(null != userTask){
if (null != userTask) {
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);
List<String> loginnames = this.getAssignee(userTask, model.getCreateuser());
if (null != loginnames && !loginnames.isEmpty()) {
variables.put("persons", loginnames);
}
}
}
@ -784,37 +784,38 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
*
*
* @param userTask
* @param loginname
* @return
*/
public List<String> getAssignee(UserTask userTask,String loginname){
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
public List<String> getAssignee(UserTask userTask, String loginname) {
if (null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1) {
//获取候选用户集合
List<String> loginnames = userTask.getCandidateUsers();
//顺序设置审批用户
return loginnames;
}else {
} else {
//得到候选组
List<String> candidateGroups = userTask.getCandidateGroups();
if(null != candidateGroups && !candidateGroups.isEmpty()){
if (null != candidateGroups && !candidateGroups.isEmpty()) {
List<User> listusers = new ArrayList<>();
for(String groupid:candidateGroups){
for (String groupid : candidateGroups) {
//排除不在同一个公司的人员
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,loginname);
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(groupid, loginname);
List<Long> listuserid = userdistionaryList.stream().map(Userdistionary::getUserid).collect(Collectors.toList());
if(null!= listuserid && !listuserid.isEmpty()){
if (null != listuserid && !listuserid.isEmpty()) {
listusers.addAll(this.userService.selectUserById(listuserid));
}
}
if(null != listusers && !listusers.isEmpty()){
if (null != listusers && !listusers.isEmpty()) {
List<String> loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList());
return loginnames;
@ -823,6 +824,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
return null;
}
/**
*
*
@ -849,20 +851,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
if(null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1){
if (null != userTask.getCandidateUsers() && userTask.getCandidateUsers().size() > 1) {
//获取候选用户集合
List<String> loginnames = userTask.getCandidateUsers();
//顺序设置审批用户
taskService.setAssignee(task.getId(), loginnames.get(taskIndex));
}else {
} else {
//得到候选组
List<String> candidateGroups = userTask.getCandidateGroups();
if(null != candidateGroups && !candidateGroups.isEmpty()){
if (null != candidateGroups && !candidateGroups.isEmpty()) {
flowTaskCompleteVO = new FlowTaskCompleteVO();
flowTaskCompleteVO.setTaskId(task.getId());
List<User> listusers = new ArrayList<>();
for(String groupid:candidateGroups){
for (String groupid : candidateGroups) {
//获取发起人员信息
HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(processInstanceId)
@ -871,13 +873,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
String startUserId = hi.getStartUserId();
//排除不在同一个公司的人员
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(groupid,startUserId);
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()){
if (null != listusers && !listusers.isEmpty()) {
List<String> loginnames = listusers.stream().map(User::getLoginname).collect(Collectors.toList());
//顺序设置审批用户
@ -886,7 +888,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
}
taskIndex++;
}else{
} else {
//如果审批不存在,需要在候选组中查询
if (StringUtils.isBlank(userTask.getAssignee())) {
//得到候选人
@ -1172,9 +1174,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*
* @param query
* @param pageUtils
* @param user
* @return
*/
public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils) {
public void getFinalProcessInstances(Map<String, Object> query, PageUtils<OcrTaskchildPicture> pageUtils, User user) {
ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize());
@ -1282,7 +1285,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// taskchildPicture.setTransferRecords(historicTaskInstanceDtos);
// }
// }
for (OcrTaskchildPicture ocrTaskchildPicture : list) {
String assignee = ocrTaskchildPicture.getAssignee();
if (assignee.contains(",")) {
String[] split = assignee.split(",");
for (int i = 0; i < split.length; i++) {
if (user.getLoginname().equals(split[i])) {
String[] taskIds = ocrTaskchildPicture.getTaskId().split(",");
ocrTaskchildPicture.setTaskId(taskIds[i]);
}
}
}
}
pageUtils.setTotalCount(count.intValue());
pageUtils.setList(list);
}

Loading…
Cancel
Save