select bu.realname AS name, bu.id AS id, count(*) as taskTotal, SUM(CASE WHEN task.taskstatus ='20' or task.taskstatus ='10' THEN 1 ELSE 0 END) AS finishTotal, SUM(CASE WHEN task.taskstatus ='0' or task.taskstatus ='1' THEN 1 ELSE 0 END) AS noFinishTaskTotal, SUM(CASE WHEN task.taskstatus ='0' or task.taskstatus ='1' THEN 1 ELSE 0 END)/count(*) *100 AS noFinishProportion, SUM(CASE WHEN task.taskstatus in ('user_add','sameleveltransfer','user_leave','green') THEN 1 ELSE 0 END) AS activityTotal from p_projecttask task left join t_s_base_user bu on bu.id = task.owner where task.projectid = :entityParam.pid <#if (entityParam.attType)?? && entityParam.attType == 2> and left(task.planendtime,4) = :entityParam.attYear <#if (entityParam.attType)?? && entityParam.attType != 2> <#if ( entityParam.yearMonthList )?? && entityParam.yearMonthList ?size gt 0> and left(task.planendtime,7) in( <#list entityParam.yearMonthList as item> '${item}' <#if item_has_next>, ) group by task.owner order by tasktotal desc