/** * Devuelve cierto si el usuario tiene el permiso * * @param respList cadena de responsabilidad * @param type Tipo de permiso a comprobar 0-->Eliminar expediente (enviar a la papelera) * 1->Iniciar expediente * @param idpcd Identificador del procedimiento para el que se va a comprobar el permiso * @return Cierto si el usuario tiene el permiso, falso en caso contrario * @throws ISPACException */ public boolean isPermission(String respList, int type, int idpcd) throws ISPACException { if (!respList.equals(Responsible.SUPERVISOR)) { String sql = "WHERE ID_PCD = " + idpcd + DBUtil.addAndInResponsibleCondition("UID_USR", respList) + " AND PERMISO=" + type; CollectionDAO objlist = new CollectionDAO(PermissionsDAO.class); return objlist.exist(mDbCnt, sql); } return false; }
/* (non-Javadoc) * @see ieci.tdw.ispac.api.IWorklistAPI#getCreateProcedures() */ public IItemCollection getCreateProcedures() throws ISPACException { // Si es supervisor podra crear todos, sino le corresponderan los suyos y y los que pueden crear // los que sustituye String resp = null; DbCnt cnt = context.getConnection(); try { Responsible user = context.getUser(); SecurityMgr securityMgr = new SecurityMgr(cnt); // Comprobar si el usuario tiene asignada la función de Supervisor Total if (securityMgr.isSupervisorTotal(user.getUID())) { resp = Responsible.SUPERVISOR; } else { // los que sustituye resp = getSubstitutesRespString(); } CollectionDAO pcdset = new CollectionDAO(PProcedimientoDAO.class); /* Procedimientos en vigor */ String sqlquery = "WHERE ESTADO=" + IProcedure.PCD_STATE_CURRENT + " AND TIPO=" + IProcedure.PROCEDURE_TYPE + " AND ID IN" + " (SELECT ID_PCD FROM SPAC_SS_PERMISOS WHERE PERMISO=" + ISecurityAPI.ISPAC_RIGHTS_CREATEEXP + DBUtil.addAndInResponsibleCondition("UID_USR", resp) + ") ORDER BY NOMBRE"; pcdset.query(cnt, sqlquery); return pcdset.disconnect(); } catch (ISPACException ie) { throw new ISPACException("Error en WLWorklist:getProcs()", ie); } finally { context.releaseConnection(cnt); } }