package com.cabletech.business.workflow.common.dao; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.springframework.stereotype.Repository; import com.cabletech.baseinfo.business.entity.UserInfo; import com.cabletech.common.base.BaseDao; /** * 首页待办数量获取dao * * @author 杨隽 2012-03-13 创建 * */ @Repository @SuppressWarnings("rawtypes") public class WaitHandledWorkDao extends BaseDao { // 日志输出 protected final Logger logger = Logger.getLogger("WaitHandledWorkDao"); /** * 根据当前登录用户获取待办工作数量信息 * * @param userInfo * UserInfo 当前登录用户 * @return int 待办工作数量信息 */ public int getWaitHandledWorkNumber(UserInfo userInfo) { String userId = userInfo.getUserId(); String personId = userInfo.getPersonId(); String groupId = userInfo.getOrgId(); StringBuffer sqlBuffer = new StringBuffer(""); sqlBuffer.append(" select count(*) as wait_handled_number "); sqlBuffer.append(" from view_jbpm_usertask t "); sqlBuffer.append(" where 1=1 "); sqlBuffer.append(" and ("); sqlBuffer.append(" t.userid_='"); sqlBuffer.append(userId); sqlBuffer.append("' "); sqlBuffer.append(" or t.userid_='"); sqlBuffer.append(personId); sqlBuffer.append("' "); sqlBuffer.append(" or t.groupid_='"); sqlBuffer.append(groupId); sqlBuffer.append("' "); sqlBuffer.append(" ) "); logger.info(" ------------------------------ test1::: "+sqlBuffer.toString()); return super.getJdbcTemplate().queryForInt(sqlBuffer.toString()); } /** * 根据当前登录用户获取待办工作列表信息 * * @param userInfo * UserInfo 当前登录用户 * @return List<Map<String, Object>> 待办工作列表信息 */ @SuppressWarnings("unchecked") public List<Map<String, Object>> getWaitHandledWorkNumberList( UserInfo userInfo) { String userId = userInfo.getUserId(); String personId = userInfo.getPersonId(); String groupId = userInfo.getOrgId(); StringBuffer sqlBuffer = new StringBuffer(""); sqlBuffer.append(" select substr(p.id_,1,instr(p.id_,'.')-1) as deploymentkey,to_char(count(*)) as wait_handled_num "); sqlBuffer.append(" from view_jbpm_usertask t "); sqlBuffer.append(" join jbpm4_execution p on t.piid=p.id_ "); sqlBuffer.append(" where 1=1 "); sqlBuffer.append(" and ("); sqlBuffer.append(" t.userid_='"); sqlBuffer.append(userId); sqlBuffer.append("' "); sqlBuffer.append(" or t.userid_='"); sqlBuffer.append(personId); sqlBuffer.append("' "); sqlBuffer.append(" or t.assignee_='"); sqlBuffer.append(personId); sqlBuffer.append("' "); sqlBuffer.append(" or t.groupid_='"); sqlBuffer.append(groupId); sqlBuffer.append("' "); sqlBuffer.append(" ) "); sqlBuffer.append(" group by substr(p.id_,1,instr(p.id_,'.')-1) "); logger.info(" ------------------------------ test2::: "+sqlBuffer.toString()); return super.getSQLALL(sqlBuffer.toString()); } }