Browse Source

PC端待办已办查询条件添加发起人

master
dimengzhe 2 years ago
parent
commit
c96c813fae
  1. 5
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  2. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml
  3. 57
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  4. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTaskAllQuery.java
  5. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  6. 18
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

5
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -89,11 +89,6 @@ public class FlowTaskController implements FlowTaskFeign {
int size = Integer.valueOf(businessTaskQuery.getSize() + ""); int size = Integer.valueOf(businessTaskQuery.getSize() + "");
int current = Integer.valueOf(businessTaskQuery.getCurrent() + ""); int current = Integer.valueOf(businessTaskQuery.getCurrent() + "");
List<BusinessTaskParam> fields = businessTaskQuery.getParams().getFields(); List<BusinessTaskParam> fields = businessTaskQuery.getParams().getFields();
/* AtomicReference<String> orgPath= new AtomicReference<>("");
fields.forEach(f->{
if(f.getField().equals(BusinessVariables.ORGPATH))
orgPath.set(f.getValue());
});*/
String orgPath=null; String orgPath=null;
for(BusinessTaskParam b: fields){ for(BusinessTaskParam b: fields){
if(b.getField().equals(BusinessVariables.ORGPATH)) { if(b.getField().equals(BusinessVariables.ORGPATH)) {

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml

@ -163,7 +163,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
) flow ) flow
GROUP BY flow.PROC_INST_ID_ GROUP BY flow.PROC_INST_ID_
ORDER BY flow.START_TIME_ DESC ORDER BY flow.START_TIME_ DESC
LIMIT #{page},#{size} <!--LIMIT #{page},#{size}-->
</select> </select>
<select id="finishedListCount" parameterType="java.util.Map" resultType="int"> <select id="finishedListCount" parameterType="java.util.Map" resultType="int">
SELECT COUNT(DISTINCT ahpi.PROC_INST_ID_) SELECT COUNT(DISTINCT ahpi.PROC_INST_ID_)

57
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -465,23 +465,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
TaskQuery taskQuery = taskService.createTaskQuery(); TaskQuery taskQuery = taskService.createTaskQuery();
String startUserNameParams = "";
// 流程参数 // 流程参数
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
// 挂载表单参数 // 挂载表单参数
for (BusinessTaskParam btq : params) { for (BusinessTaskParam btq : params) {
paramMap.put(btq.getField(), btq.getValue()); 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 (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)) {
if ("orgSid".equals(btq.getField())) { if ("orgSid".equals(btq.getField())) {
String value = btq.getValue(); String value = btq.getValue();
@ -494,13 +484,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
} }
} }
//发起人姓名查询
if("startUserName".equals(btq.getField())){
startUserNameParams = btq.getValue();
}
} }
} }
// 用户角色sid
// List<String> roleSidList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid).getData();
/* if (CollectionUtils.isEmpty(roleSidList)) {
return new ResultBean().fail().setMsg("请先设置用户角色");
}*/
TaskQuery or = taskQuery.active() TaskQuery or = taskQuery.active()
.includeProcessVariables() .includeProcessVariables()
.includeTaskLocalVariables(); .includeTaskLocalVariables();
@ -520,9 +509,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
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") + "%"); taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%");
} }
page.setTotal(taskQuery.count()); /* page.setTotal(taskQuery.count());
int p = (pageNum - 1) * pageSize; 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<>(); List<FlowTaskDto> flowList = new ArrayList<>();
for (Task task : taskList) { for (Task task : taskList) {
FlowTaskDto flowTask = new FlowTaskDto(); FlowTaskDto flowTask = new FlowTaskDto();
@ -580,6 +570,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName()); flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName());
flowList.add(flowTask); flowList.add(flowTask);
} }
//筛选发起人
if (StringUtils.isNotBlank(startUserNameParams)) {
String finalStartUserNameParams = startUserNameParams;
flowList = flowList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
page.setTotal(taskQuery.count());
flowList = flowList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
page.setRecords(flowList); page.setRecords(flowList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);
@ -690,6 +688,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>(); Map<String, Object> paraMap = new HashMap<>();
List<Map<String, Object>> ll = new ArrayList<>(); List<Map<String, Object>> ll = new ArrayList<>();
String startUserNameParams = "";
for (BusinessTaskParam btq : params) { for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue()); paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>(); Map<String, Object> mapss = new HashMap<>();
@ -704,11 +703,17 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
mapss.put("filed", btq.getField()); mapss.put("filed", btq.getField());
} }
ll.add(mapss); ll.add(mapss);
//查询条件发起人
if("startUserName".equals(btq.getField())){
paraMap.remove("startUserName");
startUserNameParams = btq.getValue();
}
} }
paraMap.put("userSid", userSid); paraMap.put("userSid", userSid);
paraMap.put("list", ll); paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize); /* paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", pageSize); paraMap.put("size", pageSize);*/
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap); List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap);
int count = baseMapper.finishedListCount(paraMap); int count = baseMapper.finishedListCount(paraMap);
List<FlowTaskDto> hisTaskList = new ArrayList(); List<FlowTaskDto> hisTaskList = new ArrayList();
@ -793,7 +798,15 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
hisTaskList.add(flowTask); 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());
}
page.setTotal(hisTaskList.size());
hisTaskList = hisTaskList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
// page.setTotal(count);
page.setRecords(hisTaskList); page.setRecords(hisTaskList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTaskAllQuery.java

@ -1,6 +1,7 @@
package com.yxt.anrui.portal.api.flow; package com.yxt.anrui.portal.api.flow;
import com.yxt.common.core.query.Query; import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -16,4 +17,7 @@ public class FlowTaskAllQuery implements Query {
private String startDate;//开始日期 private String startDate;//开始日期
private String endDate;//结束日期 private String endDate;//结束日期
private String orgSid;//部门sid private String orgSid;//部门sid
@ApiModelProperty(value = "发起人姓名")
private String startUserName;
} }

10
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java

@ -37,9 +37,6 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUser; import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
import com.yxt.anrui.portal.biz.sysuser.SysUserService; import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordAndCommentVo;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.anrui.terminal.api.app.flowable.ProcessCommentVo; import com.yxt.anrui.terminal.api.app.flowable.ProcessCommentVo;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -51,7 +48,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* Project: anrui-parent <br/> * Project: anrui-parent <br/>
@ -270,9 +270,7 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表 public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表
ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> pageResultBean = flowableService.doneAllTaskList(userSid, pQuery); ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> pageResultBean = flowableService.doneAllTaskList(userSid, pQuery);
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
BeanUtil.copyProperties(pageResultBean.getData(),page); BeanUtil.copyProperties(pageResultBean.getData(),page);
ResultBean< Page<FlowTaskDto>> success = new ResultBean< Page<FlowTaskDto>>().success(); ResultBean< Page<FlowTaskDto>> success = new ResultBean< Page<FlowTaskDto>>().success();
success.setData(page); success.setData(page);
return success; return success;

18
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -31,7 +31,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flow.UserAndOrgPath; import com.yxt.anrui.flowable.api.flow.UserAndOrgPath;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign; import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeignBusinessStartDTO;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto; import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -56,11 +55,8 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -383,6 +379,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(orgSid); taskParam.setValue(orgSid);
taskParamList.add(taskParam); taskParamList.add(taskParam);
} }
if(StringUtils.isNotBlank(params.getStartUserName())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserName");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getStartUserName());
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList); taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery); taskQueryPagerQuery.setParams(taskQuery);
@ -446,6 +449,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(processDefinitionId); taskParam.setValue(processDefinitionId);
taskParamList.add(taskParam); taskParamList.add(taskParam);
} }
if(StringUtils.isNotBlank(params.getStartUserName())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserName");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getStartUserName());
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList); taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery); taskQueryPagerQuery.setParams(taskQuery);
return flowTaskFeign.businessDoneList(userSid, taskQueryPagerQuery); return flowTaskFeign.businessDoneList(userSid, taskQueryPagerQuery);

Loading…
Cancel
Save