i.id,
i.deleted,
i.created,
i.modified,
i.business_no, i.oa_no, i.name,i.cate, i.business_source,i.belong_to,i.client_unit,
c.name as client_name, i.mobile, u.name as client_manager, i.skiller, i.sign_date, i.payment_method, i.amount, i.state,i.department_id,i.contract_url,i.user_id,i.customer_id
SELECT
, d.name as departmentName,dd1.name as cateName,dd2.name as businessSourceName,
(select name from item_stage s where curDate() >= s.start_date and curDate() <= s.end_date and s.item_id = i.id) as stageName,
( SELECT
s.id
FROM
item_stage s
WHERE
curDate() >= s.start_date
AND curDate() <= s.end_date
AND s.item_id = i.id
) AS stageId,
( CASE when ((SELECT count(*) FROM item_stage s
WHERE
s.item_id = i.id
AND curDate() >= ( SELECT min( start_date ) FROM item_stage WHERE item_id = i.id )
AND curDate() <= ( SELECT max( end_date ) FROM item_stage WHERE item_id = i.id )
)=0
AND
( SELECT count(*) FROM item_stage s WHERE s.item_id = i.id ) !=0 )
THEN
'已完成'
WHEN
(SELECT
count(*)
FROM
item_stage s
WHERE
s.item_id = i.id
AND curDate() >= ( SELECT min( start_date ) FROM item_stage WHERE item_id = i.id )
AND curDate() <= ( SELECT max( end_date ) FROM item_stage WHERE item_id = i.id ) )
!=0
THEN
'进行中'
WHEN
(SELECT
count(*)
FROM
item_stage s
WHERE
s.item_id = i.id)= 0
THEN
'未开始'
ELSE ''
END
) AS itemStatus
FROM
item i left join department d on i.department_id = d.id left join dict_data dd1 on i.cate = dd1.id
left join dict_data dd2 on i.business_source = dd2.id left join user u on u.id = i.user_id left join customer c on c.id = i.customer_id
where i.deleted = 0 and dd1.deleted =0 and dd2.deleted = 0