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 *
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}