待办当前用户信息查询
This commit is contained in:
parent
12dd783147
commit
7491080bc9
|
|
@ -102,6 +102,13 @@ public interface TSTaskListMapper extends BaseMapper<TSTaskList> {
|
|||
*/
|
||||
IPage<TaskListUnionDto> selectFinishUnionTaskPage(IPage<TaskListUnionDto> page, @Param("taskList") TaskListUnionDto taskListUnionParam, @Param("customParamMap") Map<String, Object> customParamMap);
|
||||
|
||||
/**
|
||||
* 查询执行中的用户id
|
||||
* @param workFlowId 工作流id
|
||||
* @return 执行中的用户
|
||||
*/
|
||||
TaskListUnionDto selectCurrentExecUserInfo(@Param("workFlowId") String workFlowId);
|
||||
|
||||
List<TaskListUnionDto> searchUnionTaskList(@Param("bustype") String yclrStr, @Param("userId") String userId);
|
||||
|
||||
List<TaskListUnionDto> searchUnionTaskToday(@Param("userId") String userId);
|
||||
|
|
|
|||
|
|
@ -39,17 +39,19 @@ import com.chinaweal.aiccs.door.service.ITUserportalService;
|
|||
import com.chinaweal.aiccs.org.entity.OrgUnits;
|
||||
import com.chinaweal.aiccs.org.mapper.AicorgMapper;
|
||||
import com.chinaweal.aiccs.org.mapper.TUsersMapper;
|
||||
import com.chinaweal.aiccs.org.service.AicorgService;
|
||||
import com.chinaweal.aicorg.model.AICUser;
|
||||
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -103,6 +105,8 @@ public class TSTaskListServiceImpl extends BaseServiceImpl<TSTaskListMapper, TST
|
|||
private TSBizRemListService tsBizRemListService;
|
||||
@Resource
|
||||
private TSBizRemListMapper tsBizRemListMapper;
|
||||
@Autowired
|
||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -241,7 +245,24 @@ public class TSTaskListServiceImpl extends BaseServiceImpl<TSTaskListMapper, TST
|
|||
|
||||
@Override
|
||||
public IPage<TaskListUnionDto> searchFinishTaskUnionPage(IPage<TaskListUnionDto> page, TaskListUnionDto taskListUnionParam, Map<String, Object> customParamMap) {
|
||||
return baseMapper.selectFinishUnionTaskPage(page, taskListUnionParam, customParamMap);
|
||||
IPage<TaskListUnionDto> taskListUnionDtoIPage = baseMapper.selectFinishUnionTaskPage(page, taskListUnionParam, customParamMap);
|
||||
List<Future<?>> futureList = new ArrayList<>();
|
||||
for (TaskListUnionDto each : taskListUnionDtoIPage.getRecords()) {
|
||||
futureList.add(threadPoolTaskExecutor.submit(() -> {
|
||||
TaskListUnionDto taskListUnionDto = baseMapper.selectCurrentExecUserInfo(each.getWorkflowid());
|
||||
each.setCurruserid(taskListUnionDto.getCurruserid());
|
||||
each.setCurrusername(taskListUnionDto.getCurrusername());
|
||||
each.setOrgunitid(taskListUnionDto.getOrgunitid());
|
||||
each.setOrgunitname(taskListUnionDto.getOrgunitname());
|
||||
}));
|
||||
}
|
||||
for (Future<?> each : futureList) {
|
||||
try {
|
||||
each.get();
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
}
|
||||
}
|
||||
return taskListUnionDtoIPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -564,17 +564,31 @@
|
|||
</if>
|
||||
AND n.status = '0'
|
||||
</select>
|
||||
<select id="selectCurrentExecUserInfo" resultMap="TaskListUnionMap">
|
||||
SELECT
|
||||
tu.USERID CURRUSERID,
|
||||
tu.REALNAME CURRUSERNAME,
|
||||
torg.ORGUNITID ORGUNITID,
|
||||
torg.ORGUNITNAME ORGUNITNAME
|
||||
FROM CXAICORG.T_USERS tu LEFT JOIN CXAICORG.T_ORGUNITS torg ON tu.ORGUNITID = torg.ORGUNITID
|
||||
WHERE
|
||||
tu.USERID = (
|
||||
SELECT
|
||||
n.HANDLERID
|
||||
FROM
|
||||
TSOPINION n
|
||||
WHERE
|
||||
tu.USERID = n.HANDLERID AND n.WORKFLOWID = #{workFlowId}
|
||||
ORDER BY n.OPINIONTYPE DESC LIMIT 1)
|
||||
</select>
|
||||
<select id="selectFinishUnionTaskPage" resultMap="TaskListUnionMap">
|
||||
SELECT *
|
||||
from(
|
||||
<choose>
|
||||
<when test="customParamMap.finished != null and customParamMap.finished != '' ">
|
||||
(select DISTINCT ta.TASKLISTID, ta.WORKFLOWID, ta.BIZSEQID, ta.SIGNUSERID, ta.SENDERORGID, ta.SENDERUSERID, ta.SENDTOORGID, ta.ACCEPTNO, ta.BUSNAME, ta.SIGNTIME,ta.BUSTYPE, ta.BUSSTATUS, ta.LINKNAME, ta.AUDITDEPTTYPE, ta.ISSIGNON,ta.SIGNLOGINNAME, ta.SENDERTIME, ta.SENDERNAME, ta.ACCEPTGROUPID, ta.AREA_CODE, ta.LAUPTIME , n.currentNode as currentNodeOrBizStatus,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, ta.CREATETIME,
|
||||
n.CURRUSERID CURRUSERID, tu1.REALNAME CURRUSERNAME, torg1.ORGUNITID ORGUNITID, torg1.ORGUNITNAME ORGUNITNAME
|
||||
(select DISTINCT ta.TASKLISTID, ta.WORKFLOWID, ta.BIZSEQID, ta.SIGNUSERID, ta.SENDERORGID, ta.SENDERUSERID, ta.SENDTOORGID, ta.ACCEPTNO, ta.BUSNAME, ta.SIGNTIME,ta.BUSTYPE, ta.BUSSTATUS, ta.LINKNAME, ta.AUDITDEPTTYPE, ta.ISSIGNON,ta.SIGNLOGINNAME, ta.SENDERTIME, ta.SENDERNAME, ta.ACCEPTGROUPID, ta.AREA_CODE, ta.LAUPTIME , n.currentNode as currentNodeOrBizStatus,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, ta.CREATETIME
|
||||
from TSTaskList ta
|
||||
LEFT JOIN TShwfProcessNode n on ta.WorkflowID = n.processid
|
||||
LEFT JOIN CXAICORG.T_USERS tu1 on n.CURRUSERID = tu1.USERID
|
||||
LEFT JOIN CXAICORG.T_ORGUNITS torg1 on tu1.ORGUNITID = torg1.ORGUNITID
|
||||
where ta.BUSSTATUS = 2 AND ta.WORKFLOWID IN (
|
||||
SELECT
|
||||
DISTINCT WORKFLOWID
|
||||
|
|
@ -598,12 +612,9 @@
|
|||
</if>
|
||||
</where>) and REGEXP_LIKE(n.currentNode, '^end|over', 'i') = 1)
|
||||
union all
|
||||
(select DISTINCT t.TASKLISTID, t.WORKFLOWID, t.BIZSEQID, t.SIGNUSERID, t.SENDERORGID, t.SENDERUSERID, t.SENDTOORGID, t.ACCEPTNO, t.BUSNAME, t.SIGNTIME, t.BUSTYPE, t.BUSSTATUS, t.LINKNAME, t.AUDITDEPTTYPE, t.ISSIGNON, t.SIGNLOGINNAME, t.SENDERTIME, t.SENDERNAME, t.ACCEPTGROUPID, t.AREA_CODE, t.LAUPTIME , n.currentNode as currentNodeOrBizStatus ,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, t.CREATETIME,
|
||||
n.CURRUSERID CURRUSERID, tu1.REALNAME CURRUSERNAME, torg1.ORGUNITID ORGUNITID, torg1.ORGUNITNAME ORGUNITNAME
|
||||
(select DISTINCT t.TASKLISTID, t.WORKFLOWID, t.BIZSEQID, t.SIGNUSERID, t.SENDERORGID, t.SENDERUSERID, t.SENDTOORGID, t.ACCEPTNO, t.BUSNAME, t.SIGNTIME, t.BUSTYPE, t.BUSSTATUS, t.LINKNAME, t.AUDITDEPTTYPE, t.ISSIGNON, t.SIGNLOGINNAME, t.SENDERTIME, t.SENDERNAME, t.ACCEPTGROUPID, t.AREA_CODE, t.LAUPTIME , n.currentNode as currentNodeOrBizStatus ,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, t.CREATETIME
|
||||
from tsrevtasklist t
|
||||
LEFT JOIN TShwfProcessNode n on t.WorkflowID = n.processid
|
||||
LEFT JOIN CXAICORG.T_USERS tu1 on n.CURRUSERID = tu1.USERID
|
||||
LEFT JOIN CXAICORG.T_ORGUNITS torg1 on tu1.ORGUNITID = torg1.ORGUNITID
|
||||
where t.BUSSTATUS = 2 AND t.WORKFLOWID IN (
|
||||
SELECT
|
||||
DISTINCT WORKFLOWID
|
||||
|
|
@ -630,11 +641,9 @@
|
|||
union all
|
||||
</when>
|
||||
</choose>
|
||||
(select DISTINCT t.TASKLISTID, t.WORKFLOWID, t.BIZSEQID, t.SIGNUSERID, t.SENDERORGID, t.SENDERUSERID, t.SENDTOORGID, t.ACCEPTNO, t.BUSNAME, t.SIGNTIME, t.BUSTYPE, t.BUSSTATUS, t.LINKNAME, t.AUDITDEPTTYPE, t.ISSIGNON, t.SIGNLOGINNAME, t.SENDERTIME, t.SENDERNAME, t.ACCEPTGROUPID, t.AREA_CODE, t.LAUPTIME , b.STATUS as currentNodeOrBizStatus, null as lastNode, t.CREATETIME,
|
||||
n.CURRUSERID CURRUSERID, tu1.REALNAME CURRUSERNAME, torg1.ORGUNITID ORGUNITID, torg1.ORGUNITNAME ORGUNITNAME
|
||||
from tsrevtasklist t, tsbizrevlist b,TShwfProcessNode n, CXAICORG.T_USERS tu1, CXAICORG.T_ORGUNITS torg1
|
||||
(select DISTINCT t.TASKLISTID, t.WORKFLOWID, t.BIZSEQID, t.SIGNUSERID, t.SENDERORGID, t.SENDERUSERID, t.SENDTOORGID, t.ACCEPTNO, t.BUSNAME, t.SIGNTIME, t.BUSTYPE, t.BUSSTATUS, t.LINKNAME, t.AUDITDEPTTYPE, t.ISSIGNON, t.SIGNLOGINNAME, t.SENDERTIME, t.SENDERNAME, t.ACCEPTGROUPID, t.AREA_CODE, t.LAUPTIME , b.STATUS as currentNodeOrBizStatus, null as lastNode, t.CREATETIME
|
||||
from tsrevtasklist t, tsbizrevlist b,TShwfProcessNode n
|
||||
where t.bizseqid = b.bizseq and t.busstatus = '0' and b.ISREMOVE = '0'
|
||||
and n.CURRUSERID = tu1.USERID and tu1.ORGUNITID = torg1.ORGUNITID
|
||||
and t.WorkflowID = n.processid and t.WORKFLOWID in (SELECT DISTINCT WORKFLOWID FROM tsopinion tso
|
||||
<where>
|
||||
<if test="customParamMap.childUnitSwitch != null and customParamMap.childUnitSwitch != ''">
|
||||
|
|
@ -654,12 +663,9 @@
|
|||
</if>
|
||||
</where>))
|
||||
union all
|
||||
(select DISTINCT ta.TASKLISTID, ta.WORKFLOWID, ta.BIZSEQID, ta.SIGNUSERID, ta.SENDERORGID, ta.SENDERUSERID, ta.SENDTOORGID, ta.ACCEPTNO, ta.BUSNAME, ta.SIGNTIME, ta.BUSTYPE, ta.BUSSTATUS, ta.LINKNAME, ta.AUDITDEPTTYPE, ta.ISSIGNON,ta.SIGNLOGINNAME, ta.SENDERTIME, ta.SENDERNAME, ta.ACCEPTGROUPID, ta.AREA_CODE, ta.LAUPTIME, n.currentNode as currentNodeOrBizStatus,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, ta.CREATETIME,
|
||||
n.CURRUSERID CURRUSERID, tu1.REALNAME CURRUSERNAME, torg1.ORGUNITID ORGUNITID, torg1.ORGUNITNAME ORGUNITNAME
|
||||
(select DISTINCT ta.TASKLISTID, ta.WORKFLOWID, ta.BIZSEQID, ta.SIGNUSERID, ta.SENDERORGID, ta.SENDERUSERID, ta.SENDTOORGID, ta.ACCEPTNO, ta.BUSNAME, ta.SIGNTIME, ta.BUSTYPE, ta.BUSSTATUS, ta.LINKNAME, ta.AUDITDEPTTYPE, ta.ISSIGNON,ta.SIGNLOGINNAME, ta.SENDERTIME, ta.SENDERNAME, ta.ACCEPTGROUPID, ta.AREA_CODE, ta.LAUPTIME, n.currentNode as currentNodeOrBizStatus,SUBSTR(n.NODEFLOW, 1, INSTR(n.NODEFLOW, '_') - 1) as lastNode, ta.CREATETIME
|
||||
from TSTaskList ta
|
||||
LEFT JOIN TSTwfProcessNode n on ta.WorkflowID = n.processid
|
||||
LEFT JOIN CXAICORG.T_USERS tu1 on n.CURRUSERID = tu1.USERID
|
||||
LEFT JOIN CXAICORG.T_ORGUNITS torg1 on tu1.ORGUNITID = torg1.ORGUNITID
|
||||
where ta.BUSSTATUS in ('-1', '0', '1', '3', '5')
|
||||
<if test="customParamMap.childUnitSwitch != null and customParamMap.childUnitSwitch != ''">
|
||||
<choose>
|
||||
|
|
|
|||
Loading…
Reference in New Issue