xuhuisheng / lemon

开源OA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

多环节参与会显示多个任务问题

zhoufoxcn opened this issue · comments

在一个流程中,如果一个角色在多个环节参与就会显示有多个代办(未处理)或多个已办(已处理)的任务。
HumanTaskConnectorImpl.java中的findPersonalTasks(String userId, String tenantId, int pageNo,
int pageSize)方法,改动后的:
String sql="SELECT task.* FROM task_info task INNER JOIN(SELECT BUSINESS_KEY, MAX(TASK_ID) taskID FROM task_info WHERE assignee=? and TENANT_ID=? AND status='active' GROUP BY BUSINESS_KEY) b ON task.BUSINESS_KEY=b.BUSINESS_KEY AND task.TASK_ID=b.taskId ORDER BY CREATE_TIME DESC";
SQLQuery query=taskInfoManager.getSession().createSQLQuery(sql);
query.setParameter(0, userId).setParameter(1, tenantId);

findFinishedTasks(String userId, String tenantId, int pageNo,
int pageSize)方法,改动后的:
String sql="SELECT task.* FROM task_info task INNER JOIN(SELECT BUSINESS_KEY, MAX(TASK_ID) taskID FROM task_info WHERE assignee=? and TENANT_ID=? AND status='complete' GROUP BY BUSINESS_KEY) b ON task.BUSINESS_KEY=b.BUSINESS_KEY AND task.TASK_ID=b.taskId ORDER BY CREATE_TIME DESC";
SQLQuery query=taskInfoManager.getSession().createSQLQuery(sql);
query.setParameter(0, userId).setParameter(1, tenantId);
query.addEntity(TaskInfo.class);
List taskInfos=query.list();