/** * Realiza una transformación al item. * * @param item Item original. * @return Item transformado. * @throws ISPACException si ocurre algún error. */ public IItem processItem(IItem item) throws ISPACException { CompositeItem composite = new CompositeItem("ID"); composite.addItem(item, ""); return composite; }
/** * Inicializa los valores del formulario. * * @throws ISPACException si ocurre algún error. */ public void initiate() throws ISPACException { // Obtenermos el procedimiento asociado int subPcdId = getItem().getInt("ID_SUBPROCESO"); if (subPcdId > 0) { IItem item = mContext.getAPI().getProcedure(subPcdId); ((CompositeItem) mitem).addItem(item, "SPAC_P_PROCEDIMIENTOS:"); } super.initiate(); if (getString("ID") == null) { setProperty("AUTOR", mContext.getUser().getName()); setProperty("FCREACION", DateUtil.getToday()); } if (getItem().get("ID") != null) { // Comprobar si tiene tipos de documentos asociados IInvesflowAPI invesFlowAPI = mContext.getAPI(); ICatalogAPI catalogAPI = invesFlowAPI.getCatalogAPI(); if (catalogAPI.countTaskTpDoc(getItem().get("ID").toString()) > 0) { setProperty("EXISTE_TIPOS_DOCS_ASOCIADOS", "1"); } else { setProperty("EXISTE_TIPOS_DOCS_ASOCIADOS", ""); } } else { setProperty("EXISTE_TIPOS_DOCS_ASOCIADOS", ""); } }
public void setItem(IItem item) throws ISPACException { IEntitiesAPI entitiesAPI = mContext.getAPI().getEntitiesAPI(); if (!(item instanceof EntityDAO)) { throw new ISPACException("El objeto item no es una instancia de EntityDAO."); } EntityDAO mainEntityDAO = (EntityDAO) item; // Tabla y clave de la entidad principal mPrefixMainEntity = mainEntityDAO.getTableName(); mKeyMainEntity = mainEntityDAO.getKeyName(); // TODO Incorporar al EntityDAO campo NUMEXP y DEFINICION de la entidad para no tener que // consultar la definición que ya se consulta para crear el EntityDAO // Obtener la definición de la entidad principal mainEntityDef = (IEntityDef) entitiesAPI.getCatalogEntity(mMainEntityId); // Crear un CompositeItem al que se le añadiran las entidades secundarias de // de sustituto, composición y relación múltiple cuando existan en los parámetros del formulario CompositeItem composite = new CompositeItem(mPrefixMainEntity + ":" + mKeyMainEntity); composite.addItem(item, mPrefixMainEntity + ":"); this.mitem = composite; // El número de expediente se establece inicialmente por parámetro en el EntityAppFactory // sino se busca en el item de la entidad principal a partir de su definición if (StringUtils.isEmpty(msExpedient)) { msExpedient = item.getString(mainEntityDef.getKeyNumExp()); } /* // El identificador del procedimiento se establece inicialmente por parámetro en el EntityAppFactory // sino se busca en el item del expediente if (mPcdId == ISPACEntities.ENTITY_NULLREGKEYID) { mPcdId = entitiesAPI.getExpedient(msExpedient).getInt("ID_PCD"); } */ // Obtener los campos obligatorios para la entidad principal EntityDef entityDefinicion = getRequiredData(mainEntityDef); // Obtener la definición de los campos para la entidad principal setFieldDefs(mainEntityDef.getName(), entityDefinicion); }