Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 2 years ago
parent
commit
f5af98efec
  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
  7. 32
      anrui-system-ui/src/views/flow/doneList.vue
  8. 8
      anrui-system-ui/src/views/flow/todoList.vue

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 current = Integer.valueOf(businessTaskQuery.getCurrent() + "");
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;
for(BusinessTaskParam b: fields){
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
GROUP BY flow.PROC_INST_ID_
ORDER BY flow.START_TIME_ DESC
LIMIT #{page},#{size}
<!--LIMIT #{page},#{size}-->
</select>
<select id="finishedListCount" parameterType="java.util.Map" resultType="int">
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<>();
TaskQuery taskQuery = taskService.createTaskQuery();
String startUserNameParams = "";
// 流程参数
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 +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()
.includeProcessVariables()
.includeTaskLocalVariables();
@ -520,9 +509,10 @@ 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();
@ -580,6 +570,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName());
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);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page);
@ -690,6 +688,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>();
List<Map<String, Object>> ll = new ArrayList<>();
String startUserNameParams = "";
for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>();
@ -704,11 +703,17 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
mapss.put("filed", btq.getField());
}
ll.add(mapss);
//查询条件发起人
if("startUserName".equals(btq.getField())){
paraMap.remove("startUserName");
startUserNameParams = btq.getValue();
}
}
paraMap.put("userSid", userSid);
paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", 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();
@ -793,7 +798,15 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, 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);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
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;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -16,4 +17,7 @@ public class FlowTaskAllQuery implements Query {
private String startDate;//开始日期
private String endDate;//结束日期
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.biz.sysstafforg.SysStaffOrgService;
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.common.base.utils.StringUtils;
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 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/>
@ -270,9 +270,7 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表
ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> pageResultBean = flowableService.doneAllTaskList(userSid, pQuery);
Page<FlowTaskDto> page = new Page<>();
BeanUtil.copyProperties(pageResultBean.getData(),page);
ResultBean< Page<FlowTaskDto>> success = new ResultBean< Page<FlowTaskDto>>().success();
success.setData(page);
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.yxt.anrui.flowable.api.flow.UserAndOrgPath;
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.FlowTaskDto;
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.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
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.stream.Collectors;
@ -383,6 +379,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(orgSid);
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);
taskQueryPagerQuery.setParams(taskQuery);
@ -446,6 +449,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(processDefinitionId);
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);
taskQueryPagerQuery.setParams(taskQuery);
return flowTaskFeign.businessDoneList(userSid, taskQueryPagerQuery);

32
anrui-system-ui/src/views/flow/doneList.vue

@ -12,6 +12,9 @@
<el-form-item label="流程名称">
<el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input>
</el-form-item>
<el-form-item label="发起人">
<el-input v-model="listQuery.params.startUserName" placeholder="" clearable></el-input>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
<label></label>
@ -23,7 +26,7 @@
</div>
<div class="listtop">
<div class="tit">已办任务列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="listcon">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width:100%" @selection-change="handleSelectionChange">
@ -81,7 +84,7 @@
</div>
<div class="pages">
<div class="tit"/>
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!-- Start查看页面 -->
<el-dialog
@ -164,7 +167,6 @@ export default {
editDialog: false,
flowRecordList: [],
listLoading: false,
total: 0,
list: [],
tableKey: 0,
taskName_now: '',
@ -209,8 +211,10 @@ export default {
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
proDefName: '',
startUserName: '',
startDate: '',
endDate: '',
userSid: ''
@ -418,23 +422,19 @@ export default {
},
getList() {
this.listLoading = true
getList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
proDefName: this.listQuery.params.proDefName,
startDate: this.listQuery.params.startDate,
endDate: this.listQuery.params.endDate,
userSid: this.listQuery.params.userSid
}
}).then((rep) => {
getList(this.listQuery).then((rep) => {
this.listLoading = false
this.list = rep.data.records
this.total = rep.data.total
if (rep.success) {
this.list = rep.data.records
this.listQuery.total = rep.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
handleFilter() {
this.listQuery.pageNumber = 1
this.listQuery.current = 1
this.getList()
},
handleSelectionChange() {

8
anrui-system-ui/src/views/flow/todoList.vue

@ -12,6 +12,9 @@
<el-form-item label="流程名称">
<el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input>
</el-form-item>
<el-form-item label="发起人">
<el-input v-model="listQuery.params.startUserName" placeholder="" clearable></el-input>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
<label></label>
@ -195,7 +198,8 @@ export default {
proDefName: '',
startDate: '',
endDate: '',
userSid: ''
userSid: '',
startUserName: ''
}
}
}
@ -511,7 +515,7 @@ export default {
})
},
handleFilter() {
this.listQuery.pageNumber = 1
this.listQuery.current = 1
this.getList()
},
handleSelectionChange() {

Loading…
Cancel
Save