SELECT
b. id
,b.dept_id
,b.username
,b.real_name
,b.MOBILE
FROM
SYS_USER b
WHERE
is_delete = 0
AND ID IN(
SELECT
USER_ID
FROM
SYS_ROLE_USER
WHERE IS_DELETE = 0 and
ROLE_ID IN(
SELECT
ID
FROM
SYS_ROLE
WHERE
CONCAT( ',', #{roleId}, ',' ) LIKE CONCAT( '%,', id, ',%' )
)
)
AND dept_ID IN(
SELECT
id
FROM
SYS_DEPT
WHERE
CONCAT( ',', #{deptIds}, ',' ) LIKE CONCAT( '%,', id, ',%' )
)
AND CONCAT( ',', #{zyIds}, ',' ) LIKE CONCAT( '%,', teamgroup, ',%' )
SELECT b.id
, b.dept_id
, b.username
, b.real_name
, b.MOBILE
FROM SYS_USER b
WHERE is_delete = 0
and id in (
SELECT USER_ID
FROM SY_PROJECT_EXPERT
WHERE biz_ID = #{bizId}
and flow_Code = #{code}
and step_Marker = #{stepMarker}
and is_delete = 0
)
SELECT b.id
, b.dept_id
, b.username
, b.real_name
, b.MOBILE
FROM SYS_USER b
WHERE is_delete = 0
and id = #{userId}
limit 1
${script}
${script}
SELECT id
FROM WF_RUN_TASK
WHERE IS_DELETE = 0
AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where code = #{wfDefIdCode}))
and biz_id = #{bizId}
AND status IN (100)
SELECT *
FROM WF_DEF_STEP wds
WHERE IS_DELETE = 0
and STEP_TYPE = 0
AND id IN (
SELECT step_id
FROM WF_RUN_TASK
WHERE IS_DELETE = 0
AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where IS_DELETE = 0 AND code = #{wfDefIdCode}))
and biz_id = #{bizId}
AND status IN (0, 1)
)
SELECT *
FROM WF_DEF_STEP wds
WHERE IS_DELETE = 0
and STEP_TYPE = 0
AND id IN (
SELECT step_id
FROM WF_RUN_TASK
WHERE IS_DELETE = 0
AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where IS_DELETE = 0 AND code = #{wfDefIdCode}))
and biz_id = #{bizId}
AND status IN (0, 1,100)
)
update WF_RUN_TASK
set is_delete = 1
,UPDATE_DATE = CURRENT_TIMESTAMP
where IS_DELETE = 0
and FLOW_CODE = #{wfIdCodes}
and biz_Id = #{bizId}
;
update WF_RUN_INSTANCE
set is_delete = 1
,UPDATE_DATE = CURRENT_TIMESTAMP
where IS_DELETE = 0
and FLOW_CODE = #{wfIdCodes}
and biz_Id = #{bizId}
update WF_RUN_TASK
set status=CASE WHEN receive_id = #{userId} THEN #{status}
ELSE #{status}+1 end
,status2 = 0
,finish_time = NOW()
,finish_time2 = NOW()
,finish_id = #{userId}
,finish_name = #{realName}
,OPINION = #{option}
,UPDATE_DATE = CURRENT_TIMESTAMP
where IS_DELETE = 0
AND biz_id=#{bizId}
and step_id=#{stepId}
and status in (0,1)
and RECEIVE_ID in (select user_id from SYS_USER where dept_ID in (select dept_ID from SYS_USER where user_id=#{userId}))
and RECEIVE_ID in (select teamgroup from SYS_user where user_id =#{userId})
and RECEIVE_ID = #{userId}
and Group_id2 in (select ROLE_ID from sys_role_user where user_id =#{userId} and is_delete=0)
UPDATE
WF_RUN_TASK
SET STATUS2 = ${status}
, UPDATE_DATE = CURRENT_TIMESTAMP
WHERE IS_DELETE = 0
AND biz_id = #{bizId}
AND STEP_ID = #{currentStepId}
AND status in (0,1)
AND status2 not in (1)
UPDATE
WF_RUN_TASK
SET STATUS = ${status}
, UPDATE_DATE = CURRENT_TIMESTAMP
WHERE IS_DELETE = 0
AND biz_id = #{bizId}
AND receive_id = #{receiveId}
AND status in (0,1)
UPDATE
WF_RUN_TASK a,
sys_user b
SET a.STATUS = ${status}
, a.UPDATE_DATE = CURRENT_TIMESTAMP
WHERE a.IS_DELETE = 0
AND a.biz_id = #{bizId}
AND a.receive_id = b.id and b.dept_id = #{receiveDeptId}
AND a.status in (0,1)
UPDATE
WF_RUN_TASK
SET STATUS2 = ${status}
, UPDATE_DATE = CURRENT_TIMESTAMP
WHERE IS_DELETE = 0
AND biz_id = #{bizId}
AND STEP_ID IN (
SELECT id
FROM (
SELECT id
FROM WF_DEF_STEP
WHERE IS_DELETE = 0
AND WF_DEF_ID IN (
SELECT WF_DEF_ID
FROM WF_DEF_STEP
WHERE id = #{currentStepId}
)
AND step_no > (
SELECT step_no
FROM WF_DEF_STEP
WHERE id = #{currentStepId}
)
) cc
)
SELECT s.STEP_NO,b.*,
(select group_concat(RECEIVE_NAME) from WF_RUN_TASK c WHERE c.group_id=b.group_id AND (b.status=1 OR c.status in(20)) limit 0,3) AS RECEIVE_NAME
FROM (
SELECT id,biz_id,biz_group_id,flow_code,step_id,step_marker,group_id,
CASE WHEN status IN (20,21,100) THEN 20
WHEN status IN (10,11) THEN 10
WHEN status IN (0,1) THEN 1
ELSE 0 end AS status
FROM (SELECT
*
FROM WF_RUN_TASK
WHERE IS_delete =0
and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%')
or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') )
and biz_id = #{bizId}
AND status IN (0,1,20,21,100) /* 不显示状态10,11 */
AND (status2 IS NULL OR status2 != 1)
ORDER BY receive_time desc
) cc
group BY biz_id,
flow_code,
step_marker
) b ,WF_DEF_STEP s where b.step_id = s.id
order by STEP_NO
SELECT s.STEP_NO,b.*,
(select group_concat(RECEIVE_NAME) from WF_RUN_TASK c WHERE c.group_id=b.group_id AND (b.status=1 OR c.status in(20)) limit 0,3) AS RECEIVE_NAME
FROM (
SELECT id,biz_id,biz_group_id,flow_code,step_id,step_marker,group_id,
CASE WHEN status IN (20,21,100) THEN 20
WHEN status IN (10,11) THEN 10
WHEN status IN (0,1) THEN 1
ELSE 0 end AS status
FROM (SELECT
a.*
FROM
WF_RUN_TASK a
WHERE IS_delete =0
and flow_code in (select code from WF_DEF where type = '1')
and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%')
or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') )
and biz_id = #{bizId}
AND status IN (0,1,20,21,100) /* 不显示状态10,11 */
ORDER BY receive_time desc
) cc
group BY biz_id,
flow_code,
step_marker
)b ,WF_DEF_STEP s where b.step_id = s.id
order by flow_code,STEP_NO
SELECT s.STEP_NO,
b.*,
(select group_concat(distinct RECEIVE_NAME)
from WF_RUN_TASK c
WHERE (b.status = 1 OR c.status in (20))
and group_id in (select group_id
from (
select group_id, biz_id, flow_code, step_marker
from (
SELECT group_id, biz_id, flow_code, step_marker
FROM WF_RUN_TASK
WHERE biz_group_id = #{bizGroupId}
ORDER BY receive_time desc
) cc
group BY biz_id,
flow_code,
step_marker
) dd)
and b.biz_group_id = c.biz_group_id
and b.flow_code = c.flow_code
and b.step_marker = c.step_marker
limit 0,1) AS RECEIVE_NAME
FROM (
SELECT a.*,
b.totalNum,
CASE
WHEN totalNum = 0 THEN 0
WHEN totalNum = finishNum THEN 20
ELSE 1 END status
FROM (
SELECT biz_group_id,
flow_code,
step_marker,
sum(CASE WHEN status IN (20, 21, 100) THEN 1 ELSE 0 end) AS finishNum
FROM (select *
from (SELECT *
FROM WF_RUN_TASK
WHERE IS_delete = 0
and flow_code in (select code from WF_DEF where type = '2')
and status IN (0, 1, 20, 21, 100)
and biz_group_id = #{bizGroupId}
ORDER BY receive_time desc
) cc
group BY biz_group_id,
flow_code,
step_marker,
biz_id
) dd
GROUP BY biz_group_id, flow_code, step_marker
) a,
(
SELECT biz_group_id,
flow_code,
count(DISTINCT biz_group_id, flow_code, biz_id) AS totalNum
FROM WF_RUN_TASK a
WHERE IS_delete = 0
and flow_code in (select code from WF_DEF where type = '2')
and biz_group_id = #{bizGroupId}
GROUP BY biz_group_id, flow_code
) b
WHERE a.biz_group_id = b.biz_group_id
AND a.flow_code = b.flow_code
) b,
WF_DEF_STEP s
where b.step_marker = s.step_marker
order by flow_code, STEP_NO
SELECT c.flow_code,
CASE WHEN totalNum = 0 THEN 0
WHEN totalNum=finishNum THEN 2
ELSE 1 END status
FROM (
SELECT
biz_group_id,flow_code,count(DISTINCT biz_id) AS totalNum,
(SELECT count(1) FROM WF_RUN_TASK b WHERE b.biz_group_id=a.biz_group_id AND b.status=100) AS finishNum
FROM WF_RUN_TASK a
WHERE IS_delete =0
and flow_code in (select code from WF_DEF where type = '2')
and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%')
or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') )
and biz_group_id = #{biz_group_id}
GROUP BY biz_group_id,flow_code
) c
select CODE as FLOW_CODE,
case
when exists(select 1
from wf_run_instance b
where b.FLOW_ID = a.id
and b.BIZ_GROUP_ID = #{bizId}
and b.status in (0, 1)) then 1
when exists(select 1
from wf_run_instance b
where b.FLOW_ID = a.id
and b.BIZ_GROUP_ID = #{bizId}
and b.status in (20, 100)) then 20
else 0
end as status
from wf_def a
where a.phase_node = #{flowCode}
SELECT a.* FROM WF_RUN_TASK a,
(
SELECT a.id,
CASE WHEN finish_TIME IS NULL THEN cast('2500-1-1' AS DATE)
ELSE finish_TIME end finish_TIME
FROM WF_RUN_TASK a
WHERE IS_delete =0
AND status IN (0,1,20,100)
and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%')
or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') )
and biz_id = #{bizId}
order by finish_TIME DESC
LIMIT 0,1
) b
WHERE a.id =b.id
SELECT count(1)
FROM WF_RUN_TASK
WHERE is_delete = 0
and biz_id = #{bizId}
and step_Marker = #{stepMarker}
and receive_Id = #{userId}
AND status IN (0, 1)
SELECT count(1)
FROM WF_RUN_TASK
WHERE is_delete = 0
and biz_id = #{bizId}
and step_Marker = #{stepMarker}
and receive_Id = #{userId}
AND status in (20, 21)
SELECT count(1)
FROM WF_RUN_TASK
WHERE is_delete = 0
and biz_id = #{bizId}
and step_Marker = #{stepIdMark}
and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode})
AND status IN (0, 1)
SELECT count(1)
FROM WF_RUN_TASK
WHERE is_delete = 0
and biz_id = #{bizId}
and step_Marker = #{stepIdMark}
and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode})
AND status IN (20, 21, 100)
SELECT *
FROM (
SELECT a.step_marker, (CASE WHEN b.num IS NULL THEN 0 ELSE b.num end) status, a.STEP_NO
FROM WF_DEF_STEP a /*liquan*/
LEFT JOIN (
SELECT step_marker, count(1) AS Num
FROM (select *
from (SELECT *
FROM WF_RUN_TASK
WHERE IS_delete = 0
and status IN (0, 1, 100)
and biz_Group_id = #{bizId}
and flow_code = #{wfIdCode}
ORDER BY receive_time desc
) d /*liquan*/
group BY biz_group_id,
flow_id,
flow_code,
step_marker,
biz_id
) cc
GROUP BY biz_group_id, flow_id, flow_code, step_marker
) b ON a.step_marker = b.step_marker
WHERE a.WF_DEF_ID IN (SELECT id FROM WF_DEF WHERE CODE = #{wfIdCode})
UNION
SELECT 'total',
count(DISTINCT biz_group_id, flow_code, biz_id) AS status,
900
FROM WF_RUN_TASK a
WHERE IS_delete = 0
and biz_Group_id = #{bizId}
and flow_code = #{wfIdCode}
GROUP BY biz_group_id, flow_code
) c
ORDER BY STEP_NO
SELECT count(1)
FROM WF_RUN_TASK
WHERE is_delete = 0
and biz_id = #{bizId}
and flow_code = #{wfIdCode}
UPDATE WF_RUN_TASK
SET STATUS = 0
, UPDATE_DATE = CURRENT_TIMESTAMP
WHERE IS_DELETE = 0
AND id = #{taskId}
and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode});
UPDATE WF_RUN_TASK
SET IS_DELETE = 1
, UPDATE_DATE = CURRENT_TIMESTAMP
WHERE IS_DELETE = 0
AND PREV_ID = #{taskId}
SELECT count(1)
FROM sys_role_user a,
sys_role b
WHERE a.is_delete = 0
and b.is_delete = 1
and b.code = #{code}
and a.user_id = #{userId}
SELECT CURRENT_STATE
FROM zhgl_annual_plan a
WHERE a.is_delete = 0
and a.id = #{bizId}
SELECT *
FROM `wf_run_task`
where STEP_MARKER in ('yxsc_bb', 'sgqd_bb', 'plan_tybx')
and status in (0, 1)
and RECEIVE_ID in
(select user_id from sys_user where DEPT_ID = #{oldShipTeam})
and is_delete = 0
group by FLOW_CODE, STEP_MARKER, BIZ_ID
select * from (
select step_name,RECEIVE_NAME,RECEIVE_TIME,FINISH_TIME
from wf_run_task
where FLOW_CODE=#{flowCode} and BIZ_ID=#{bizId} and is_delete = 0 and status='20'
union
select step_name,GROUP_CONCAT(RECEIVE_NAME) as RECEIVE_NAME,RECEIVE_TIME,FINISH_TIME
from wf_run_task
where FLOW_CODE=#{flowCode} and BIZ_ID=#{bizId} and is_delete = 0
and status in (0,1)
group by step_name,RECEIVE_TIME,FINISH_TIME
) b order by RECEIVE_TIME
select count(1) from wf_run_task a,
wf_def_step b
where
a.biz_id = #{bizId} and a.status in (0,20)
and a.step_id = b.id and b.EXEC_ONE = 1
and a.STEP_ID = #{currentStepId}
and a.STEP_MARKER = #{stepMarker}
select count(1) from wf_run_task a,
wf_def_step b
where
a.biz_id = #{bizId} and a.status in (0,1)
and a.step_id = b.id and a.is_delete = 0 and b.is_delete = 0
and a.STEP_ID = #{currentStepId}
and a.STEP_MARKER = #{stepMarker}
SELECT
STEP_NAME
FROM
wf_run_task
WHERE
FLOW_CODE = #{wfIdCodes}
AND BIZ_ID = #{bizId}
AND `STATUS` = 0
LIMIT 0,1
select * from (
select distinct(a.biz_id) biz_id, a.STEP_MARKER,b.STEP_NO
from wf_run_task a
,wf_def_step b
where a.STEP_ID = b.id and a.FLOW_CODE ='${flowCode}'
and a.BIZ_ID in
#{item}
order by STEP_NO desc
) c
group by biz_id
update `wf_run_task`
set is_delete =1,UPDATE_DATE = CURRENT_TIMESTAMP
where STEP_MARKER in ('yxsc_bb', 'sgqd_bb', 'plan_tybx')
and status in (0, 1)
and RECEIVE_ID in
(select user_id from sys_user where DEPT_ID = #{oldShipTeam})
and is_delete = 0
update `wf_run_task`
set status = 150,UPDATE_DATE = CURRENT_TIMESTAMP
where flow_code = #{wfIdCode}
and biz_id = #{bizId}
and is_delete = 0
delete from wf_run_task
where FLOW_CODE = #{wfIdCode}
and STEP_MARKER = #{stepIdMark}
and BIZ_ID = #{bizId}