|
|
@ -465,23 +465,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
|
|
|
|
Page<FlowTaskDto> page = new Page<>(); |
|
|
|
TaskQuery taskQuery = taskService.createTaskQuery(); |
|
|
|
String startUserNameParams = ""; |
|
|
|
String names = ""; |
|
|
|
|
|
|
|
// 流程参数
|
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
// 挂载表单参数
|
|
|
|
for (BusinessTaskParam btq : params) { |
|
|
|
paramMap.put(btq.getField(), btq.getValue()); |
|
|
|
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)){
|
|
|
|
// taskQuery.processVariableValueEquals(btq.getField(),btq.getValue());
|
|
|
|
// }
|
|
|
|
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)){
|
|
|
|
// taskQuery.processVariableValueLike(btq.getField(),"%"+btq.getValue()+"%");
|
|
|
|
// }
|
|
|
|
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
|
|
|
|
// if("processDefinitionId".equals(btq.getField())){
|
|
|
|
// taskQuery.processDefinitionId(btq.getValue());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)) { |
|
|
|
if ("orgSid".equals(btq.getField())) { |
|
|
|
String value = btq.getValue(); |
|
|
@ -494,13 +485,15 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//发起人姓名查询
|
|
|
|
if("startUserName".equals(btq.getField())){ |
|
|
|
startUserNameParams = btq.getValue(); |
|
|
|
} |
|
|
|
} |
|
|
|
if("proDefName".equals(btq.getField())){ |
|
|
|
names = btq.getValue(); |
|
|
|
} |
|
|
|
} |
|
|
|
// 用户角色sid
|
|
|
|
// List<String> roleSidList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid).getData();
|
|
|
|
/* if (CollectionUtils.isEmpty(roleSidList)) { |
|
|
|
return new ResultBean().fail().setMsg("请先设置用户角色"); |
|
|
|
}*/ |
|
|
|
TaskQuery or = taskQuery.active() |
|
|
|
.includeProcessVariables() |
|
|
|
.includeTaskLocalVariables(); |
|
|
@ -520,12 +513,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) { |
|
|
|
taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%"); |
|
|
|
} |
|
|
|
page.setTotal(taskQuery.count()); |
|
|
|
int p = (pageNum - 1) * pageSize; |
|
|
|
List<Task> taskList = taskQuery.listPage(p, pageSize); |
|
|
|
/* page.setTotal(taskQuery.count()); |
|
|
|
int p = (pageNum - 1) * pageSize;*/ |
|
|
|
// List<Task> taskList = taskQuery.listPage(p, pageSize);
|
|
|
|
List<Task> taskList = taskQuery.list(); |
|
|
|
List<FlowTaskDto> flowList = new ArrayList<>(); |
|
|
|
for (Task task : taskList) { |
|
|
|
|
|
|
|
FlowTaskDto flowTask = new FlowTaskDto(); |
|
|
|
Map<String, Object> processVariables = task.getProcessVariables(); |
|
|
|
flowTask.setProcessVariables(processVariables); |
|
|
@ -579,15 +572,23 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
flowTask.setAssigneeName(sysUserVoResultBean2.getData().getName()); |
|
|
|
flowTask.setAssigneeSid(sysUserVoResultBean2.getData().getSid()); |
|
|
|
flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName()); |
|
|
|
|
|
|
|
// 设置手机端参数
|
|
|
|
// Map<String, Map<String, Object>> variablesMap = getAppOrPcVariables(flowTask);
|
|
|
|
// flowTask.setAppVariables(variablesMap.get("appVariables"));
|
|
|
|
// // 设置pc端参数
|
|
|
|
// flowTask.setPcVariables(variablesMap.get("pcVariables"));
|
|
|
|
|
|
|
|
if(processVariables.containsKey("orderNames")){ |
|
|
|
flowTask.setProcDefName(processVariables.get("orderNames").toString()); |
|
|
|
} |
|
|
|
flowList.add(flowTask); |
|
|
|
} |
|
|
|
//筛选发起人==============================
|
|
|
|
if (StringUtils.isNotBlank(startUserNameParams)) { |
|
|
|
String finalStartUserNameParams = startUserNameParams; |
|
|
|
flowList = flowList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(names)){ |
|
|
|
String finalNames = names; |
|
|
|
flowList = flowList.stream().filter(v -> v.getProcDefName().contains(finalNames)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
page.setTotal(flowList.size()); |
|
|
|
flowList = flowList.stream().skip((pageNum - 1) * pageSize).limit(pageSize). |
|
|
|
collect(Collectors.toList()); |
|
|
|
page.setRecords(flowList); |
|
|
|
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); |
|
|
|
return rb.success().setData(page); |
|
|
@ -695,13 +696,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean<Page<FlowTaskDto>> businessFinishedList(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) { |
|
|
|
|
|
|
|
Page<FlowTaskDto> page = new Page<>(); |
|
|
|
Map<String, Object> paraMap = new HashMap<>(); |
|
|
|
List<Map<String, Object>> ll = new ArrayList<>(); |
|
|
|
String startUserNameParams = ""; |
|
|
|
String names = ""; |
|
|
|
for (BusinessTaskParam btq : params) { |
|
|
|
paraMap.put(btq.getField(), btq.getValue()); |
|
|
|
|
|
|
|
Map<String, Object> mapss = new HashMap<>(); |
|
|
|
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) { |
|
|
|
mapss.put("symbol", "="); |
|
|
@ -713,22 +714,22 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
mapss.put("value", "%" + btq.getValue() + "%"); |
|
|
|
mapss.put("filed", btq.getField()); |
|
|
|
} |
|
|
|
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){ |
|
|
|
if("processDefinitionId".equals(btq.getField())){ |
|
|
|
taskInstanceQuery.processDefinitionId(btq.getValue()); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
ll.add(mapss); |
|
|
|
//查询条件发起人
|
|
|
|
if("startUserName".equals(btq.getField())){ |
|
|
|
paraMap.remove("startUserName"); |
|
|
|
startUserNameParams = btq.getValue(); |
|
|
|
} |
|
|
|
if("proDefName".equals(btq.getField())){ |
|
|
|
names = btq.getValue(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
paraMap.put("userSid", userSid); |
|
|
|
paraMap.put("list", ll); |
|
|
|
paraMap.put("page", (pageNum - 1) * pageSize); |
|
|
|
paraMap.put("size", pageSize); |
|
|
|
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
|
|
|
|
/* paraMap.put("page", (pageNum - 1) * pageSize); |
|
|
|
paraMap.put("size", pageSize);*/ |
|
|
|
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap); |
|
|
|
int count = baseMapper.finishedListCount(paraMap); |
|
|
|
|
|
|
|
List<FlowTaskDto> hisTaskList = new ArrayList(); |
|
|
|
for (Map<String, Object> histTask : maps) { |
|
|
|
FlowTaskDto flowTask = new FlowTaskDto(); |
|
|
@ -751,47 +752,22 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
userName_str=userName.substring(0,userName.length()-1); |
|
|
|
flowTask.setAssigneeName(userName_str); |
|
|
|
} |
|
|
|
|
|
|
|
flowTask.setHasRevokeButton(userSid.equals(flowTask.getAssigneeSid()) ? true : false); |
|
|
|
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString()); |
|
|
|
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString()); |
|
|
|
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString()); |
|
|
|
// 判断是否办结
|
|
|
|
/*Object end_act_id_ = histTask.get("END_ACT_ID_"); |
|
|
|
if (end_act_id_ != null) { |
|
|
|
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName()); |
|
|
|
}*/ |
|
|
|
|
|
|
|
// 流程定义信息
|
|
|
|
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
|
|
|
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
|
|
|
|
// .singleResult();
|
|
|
|
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString()); |
|
|
|
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString()); |
|
|
|
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString())); |
|
|
|
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString()); |
|
|
|
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString()); |
|
|
|
|
|
|
|
// 流程发起人信息
|
|
|
|
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
|
|
|
|
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
|
|
|
|
// .singleResult();
|
|
|
|
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); |
|
|
|
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); |
|
|
|
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); |
|
|
|
// ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(historicProcessInstance.getStartUserId());
|
|
|
|
if(sysUserVoResultBean.getData()!=null){ |
|
|
|
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); |
|
|
|
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); |
|
|
|
/*ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(sysUserVoResultBean.getData().getSid()); |
|
|
|
String ogrName=""; |
|
|
|
if(pathSidByUserSid.getData()!=null){ |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(pathSidByUserSid.getData()); |
|
|
|
ogrName=sysOrganizationVoResultBean.getData().getName(); |
|
|
|
} |
|
|
|
flowTask.setStartDeptName(ogrName+"-"+sysUserVoResultBean.getData().getOrganizationName());*/ |
|
|
|
} |
|
|
|
// flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
|
|
|
|
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); |
|
|
|
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); |
|
|
|
Object end_act_id = histTask.get("end_act_id_"); |
|
|
@ -834,9 +810,24 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(flowTask.getProcessVariables().containsKey("orderNames")){ |
|
|
|
flowTask.setProcDefName(flowTask.getProcessVariables().get("orderNames").toString()); |
|
|
|
} |
|
|
|
hisTaskList.add(flowTask); |
|
|
|
} |
|
|
|
page.setTotal(count); |
|
|
|
//对hisTaskList进行筛选发起人
|
|
|
|
if (StringUtils.isNotBlank(startUserNameParams)) { |
|
|
|
String finalStartUserNameParams = startUserNameParams; |
|
|
|
hisTaskList = hisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(names)){ |
|
|
|
String finalNames = names; |
|
|
|
hisTaskList = hisTaskList.stream().filter(v -> v.getProcDefName().contains(finalNames)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
page.setTotal(hisTaskList.size()); |
|
|
|
hisTaskList = hisTaskList.stream().skip((pageNum - 1) * pageSize).limit(pageSize). |
|
|
|
collect(Collectors.toList()); |
|
|
|
// page.setTotal(count);
|
|
|
|
page.setRecords(hisTaskList); |
|
|
|
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); |
|
|
|
return rb.success().setData(page); |
|
|
@ -849,40 +840,36 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean<Page<FlowTaskDto>> businessFinishedListForApp(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) { |
|
|
|
|
|
|
|
Page<FlowTaskDto> page = new Page<>(); |
|
|
|
Map<String, Object> paraMap = new HashMap<>(); |
|
|
|
String names = ""; |
|
|
|
List<Map<String, Object>> ll = new ArrayList<>(); |
|
|
|
for (BusinessTaskParam btq : params) { |
|
|
|
paraMap.put(btq.getField(), btq.getValue()); |
|
|
|
|
|
|
|
Map<String, Object> mapss = new HashMap<>(); |
|
|
|
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) { |
|
|
|
mapss.put("symbol", "="); |
|
|
|
mapss.put("value", btq.getValue()); |
|
|
|
mapss.put("filed", btq.getField()); |
|
|
|
} |
|
|
|
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) { |
|
|
|
/* if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) { |
|
|
|
mapss.put("symbol", "like"); |
|
|
|
mapss.put("value", "%" + btq.getValue() + "%"); |
|
|
|
mapss.put("filed", btq.getField()); |
|
|
|
} |
|
|
|
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){ |
|
|
|
if("processDefinitionId".equals(btq.getField())){ |
|
|
|
taskInstanceQuery.processDefinitionId(btq.getValue()); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
ll.add(mapss); |
|
|
|
if("proDefName".equals(btq.getField())){ |
|
|
|
names = btq.getValue(); |
|
|
|
paraMap.remove("proDefName"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
paraMap.put("userSid", userSid); |
|
|
|
paraMap.put("list", ll); |
|
|
|
paraMap.put("page", (pageNum - 1) * pageSize); |
|
|
|
paraMap.put("size", pageSize); |
|
|
|
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
|
|
|
|
/* paraMap.put("page", (pageNum - 1) * pageSize); |
|
|
|
paraMap.put("size", pageSize);*/ |
|
|
|
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap); |
|
|
|
int count = baseMapper.finishedListCount(paraMap); |
|
|
|
|
|
|
|
List<FlowTaskDto> hisTaskList = new ArrayList(); |
|
|
|
for (Map<String, Object> histTask : maps) { |
|
|
|
FlowTaskDto flowTask = new FlowTaskDto(); |
|
|
@ -891,7 +878,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
// 审批人员信息
|
|
|
|
Timestamp start_time_ = (Timestamp) histTask.get("START_TIME_"); |
|
|
|
Timestamp processCreateTime = (Timestamp) histTask.get("processCreateTime"); |
|
|
|
|
|
|
|
long time = start_time_.getTime(); |
|
|
|
long processCreateTime1 = processCreateTime.getTime(); |
|
|
|
Date date = new Date(time); |
|
|
@ -914,30 +900,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString()); |
|
|
|
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString()); |
|
|
|
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString()); |
|
|
|
// 判断是否办结
|
|
|
|
/*Object end_act_id_ = histTask.get("END_ACT_ID_"); |
|
|
|
if (end_act_id_ != null) { |
|
|
|
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName()); |
|
|
|
}*/ |
|
|
|
|
|
|
|
// 流程定义信息
|
|
|
|
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
|
|
|
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
|
|
|
|
// .singleResult();
|
|
|
|
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString()); |
|
|
|
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString()); |
|
|
|
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString())); |
|
|
|
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString()); |
|
|
|
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString()); |
|
|
|
|
|
|
|
// 流程发起人信息
|
|
|
|
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
|
|
|
|
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
|
|
|
|
// .singleResult();
|
|
|
|
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); |
|
|
|
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); |
|
|
|
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); |
|
|
|
// flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
|
|
|
|
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); |
|
|
|
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); |
|
|
|
Object end_act_id = histTask.get("end_act_id_"); |
|
|
@ -983,16 +953,30 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
}else{ |
|
|
|
flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(flowTask.getProcessVariables().containsKey("orderNames")){ |
|
|
|
flowTask.setProcDefName(flowTask.getProcessVariables().get("orderNames").toString()); |
|
|
|
} |
|
|
|
hisTaskList.add(flowTask); |
|
|
|
} |
|
|
|
page.setTotal(count); |
|
|
|
page.setRecords(hisTaskList); |
|
|
|
List<FlowTaskDto> userHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList()); |
|
|
|
List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList()); |
|
|
|
//对hisTaskList进行筛选发起人
|
|
|
|
if (StringUtils.isNotBlank(names)) { |
|
|
|
String finalStartUserNameParams = names; |
|
|
|
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
List<FlowTaskDto> finallyList = new ArrayList<>(); |
|
|
|
finallyList.addAll(namesHisTaskList); |
|
|
|
finallyList.addAll(userHisTaskList); |
|
|
|
page.setTotal(finallyList.size()); |
|
|
|
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize). |
|
|
|
collect(Collectors.toList()); |
|
|
|
// page.setTotal(count);
|
|
|
|
// page.setRecords(hisTaskList);
|
|
|
|
page.setRecords(finallyList); |
|
|
|
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); |
|
|
|
return rb.success().setData(page); |
|
|
|
} |
|
|
@ -1984,6 +1968,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
public ResultBean<Page<FlowTaskDto>> businessTodoListForApp(String userSid,String orgPath, List<BusinessTaskParam> params, int pageNum, int pageSize) { |
|
|
|
Page<FlowTaskDto> page = new Page<>(); |
|
|
|
TaskQuery taskQuery = taskService.createTaskQuery(); |
|
|
|
String names = ""; |
|
|
|
// 流程参数
|
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
// 挂载表单参数
|
|
|
@ -2002,6 +1987,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if("proDefName".equals(btq.getField())){ |
|
|
|
names = btq.getValue(); |
|
|
|
paramMap.remove("proDefName"); |
|
|
|
} |
|
|
|
} |
|
|
|
TaskQuery or = taskQuery.active() |
|
|
|
.includeProcessVariables() |
|
|
@ -2018,12 +2007,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if (paramMap.get("endDate") != null && StringUtils.isNotBlank(paramMap.get("endDate").toString())) { |
|
|
|
taskQuery.taskCreatedBefore(DateUtils.dateStrConvertDate(paramMap.get("endDate").toString(), "yyyy-MM-dd")); |
|
|
|
} |
|
|
|
if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) { |
|
|
|
/*if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) { |
|
|
|
taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%"); |
|
|
|
} |
|
|
|
page.setTotal(taskQuery.count()); |
|
|
|
}*/ |
|
|
|
/* page.setTotal(taskQuery.count()); |
|
|
|
int p = (pageNum - 1) * pageSize; |
|
|
|
List<Task> taskList = taskQuery.listPage(p, pageSize); |
|
|
|
List<Task> taskList = taskQuery.listPage(p, pageSize);*/ |
|
|
|
List<Task> taskList = taskQuery.list(); |
|
|
|
List<FlowTaskDto> flowList = new ArrayList<>(); |
|
|
|
for (Task task : taskList) { |
|
|
|
FlowTaskDto flowTask = new FlowTaskDto(); |
|
|
@ -2085,9 +2075,26 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if(listResultBean.getData()!=null&&listResultBean.getData().size()>0){ |
|
|
|
flowTask.setSysProUrlVo(listResultBean.getData().get(0)); |
|
|
|
} |
|
|
|
if(processVariables.containsKey("orderNames")){ |
|
|
|
flowTask.setProcDefName(processVariables.get("orderNames").toString()); |
|
|
|
} |
|
|
|
flowList.add(flowTask); |
|
|
|
} |
|
|
|
page.setRecords(flowList); |
|
|
|
//对flowList进行筛选发起人======================
|
|
|
|
List<FlowTaskDto> userHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList()); |
|
|
|
List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList()); |
|
|
|
if (StringUtils.isNotBlank(names)) { |
|
|
|
String finalStartUserNameParams = names; |
|
|
|
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
List<FlowTaskDto> finallyList = new ArrayList<>(); |
|
|
|
finallyList.addAll(namesHisTaskList); |
|
|
|
finallyList.addAll(userHisTaskList); |
|
|
|
page.setTotal(finallyList.size()); |
|
|
|
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize). |
|
|
|
collect(Collectors.toList()); |
|
|
|
page.setRecords(finallyList); |
|
|
|
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); |
|
|
|
return rb.success().setData(page); |
|
|
|
} |
|
|
|