⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uilist.java

📁 国外的一套开源CRM
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			String eventProcessorClass = screenSectionGV.getString("eventProcessorClass");
			eventProcessor = UIUtility.getEventProcessor(eventProcessorClass);
			
			String primaryEntityName = primaryEntity.getUiEntity().getEntityName();
			String searchAttribValue = "";
			String searchEntityName = "";
			String searchAttribName = "";
			EntityComparisonOperator entityOperator = null;
			List relatedSearchClauses = new LinkedList();
			List selectFields = new ArrayList();
			List selectFieldLabels = new ArrayList();
			List sortFields = new ArrayList();
			
			List reportFields = new ArrayList();
			List reportCriteria = new ArrayList();
			List reportOrderBy = new ArrayList();
			
			ModelEntity primaryME = primaryEntity.getUiEntity().getModelEntity();
			List primaryPkFieldNames =primaryEntity.getUiEntity().getPrimaryKeyFieldNames();
			
			queryInfo = new QueryInfo(delegator, primaryEntityName);
			
			HashMap joinedEntities = new HashMap();
					
			joinedEntities.put(primaryEntityName, "Y");
					
			// Find the main entity(ies) by building a WHERE clause using LIKE and AND, with one or more tables in the FROM clause.
			// First join all secondary screen section entities in the WHERE and FROM clauses in case
			// we are going to use query values from them.
			Iterator uiScreenSectionEntityI = uiScreenSectionEntityGVL.iterator();
			
			uiScreenSectionEntityI.next(); // Pass up the primary entity.
			
			while (uiScreenSectionEntityI.hasNext()) {
				GenericValue entityGV = (GenericValue) uiScreenSectionEntityI.next();
				UIScreenSectionEntity uiScreenSectionEntity = new UIScreenSectionEntity(entityGV, delegator, uiCache) ;
				String relationTitle = uiScreenSectionEntity.getRelationTitle();
				String relatedEntityName = uiScreenSectionEntity.getUiEntity().getEntityName();
				String relatedAndFields = uiScreenSectionEntity.getRelationByAndFields();
				boolean isOuterJoin = uiScreenSectionEntity.getIsOuterJoined();
			
				eventProcessor.addOneRelationClause(delegator, relationTitle, relatedAndFields,
					relatedEntityName, primaryEntityName, primaryME, isOuterJoin,
					queryInfo);
			        
				joinedEntities.put(relatedEntityName, "Y");
			}

			String pkFieldName = (String) primaryPkFieldNames.get(0);
			queryInfo.addJoin(primaryEntityName, "UiListItem", Boolean.FALSE, pkFieldName, "entityId");
			queryInfo.addCondition("UiListItem", "listId", EntityOperator.EQUALS, getListId());
			
			List fieldList = getPrimaryFields();
			int fieldListSize = fieldList.size();
							
			StringBuffer fieldNameOptions = new StringBuffer(200);
			for (int fieldNbr = 0; fieldNbr < fieldListSize; fieldNbr++) {
				GenericValue fieldInfo = (GenericValue) fieldList.get(fieldNbr);
				String entityName = fieldInfo.getString("entityName");
				String attributeName = fieldInfo.getString("attributeName");
				String aliasName = entityName + "_" + attributeName;
				
				if ( !entityName.equals(primaryEntityName))
				    queryInfo.checkAttribute(entityName, attributeName, aliasName);
			}		
			
		} catch (NumberFormatException e)
		{
			Debug.logError("Error formatting Number: " + e.getMessage(), module);
			return false;
		} catch (GenericEntityException e)
		{
			Debug.logError("Error loading QueryInfo: " + e.getMessage(), module);
			return false;
		}
		return true;
	}
	
	public List getListItems(UserInfo userInfo, int maxRows)
	{
		EntityListIterator eli = null;
		
		if ( eventProcessor == null)
			eventProcessor = new GenericEventProcessor();
		
		if ( queryInfo == null )
			throw new RuntimeException("You must call loadQueryInfo prior to getListItems");
		
		SecurityLinkInfo securityInfo = eventProcessor.getSecurityLinkInfo(userInfo, delegator);
		if (securityInfo == null) {
			try {
				eli = queryInfo.getQueryIterator();
			} catch (GenericEntityException e) {
				Debug.logError("An error occurred in the " +
					"GenericDelegator.findByCondition method: " +
					e.getLocalizedMessage(), module);
			}
		} else {
			try {
				
				eli = SecurityWrapper.findListIteratorByCondition(queryInfo.getPrimaryEntity(),
						queryInfo, queryInfo.getOrderBy(), userInfo, securityInfo,	delegator);
			} catch (GenericEntityException e) {
				Debug.logError("An error occurred in the " +
					"SecurityWrapper.findByCondition method: " +
					e.getLocalizedMessage(), module);
			}
		}

		if ( eli != null )
		{
			try {
				List resultGVL = eli.getPartialList( 1, maxRows);
				
				boolean hasMoreRows = false;
				
				// check next value since we close the cursor anyway.  
				if ( (resultGVL.size() == maxRows) && (eli.next() != null ))
					hasMoreRows = true;
					
				eli.close();
				
				return resultGVL;

			} catch (GenericEntityException e) {
				Debug.logError("An error occurred in the  getPartialList method: " + e.getLocalizedMessage(), module);
			}
		}

		return new ArrayList();
	}
	
 	public GenericDelegator getDelegator()
 	{
 		return delegator;
 	}
 	
 	public void setDelegator(GenericDelegator delegator_)
 	{
 		delegator = delegator_;
 	}

	/**
	 * @return
	 */
	public String getPartyId()
	{
		return partyId;
	}

	/**
	 * @return
	 */
	public List getPrimaryFields()
	{
		if ( !primaryFieldsLoaded )
			loadPrimarySectionFields();
		return primaryFields;
	}

	/**
	 * @return
	 */
	public List getRelatedFields()
	{
		if ( !relatedFieldsLoaded )
			loadRelatedSectionQueryFields();
		return relatedFields;
	}

	/**
	 * @return
	 */
	public String getListId()
	{
		return listId;
	}

	/**
	 * @return
	 */
	public String getListName()
	{
		return listName;
	}

	/**
	 * @param string
	 */
	public void setPartyId(String string)
	{
		partyId = string;
	}

	/**
	 * @param list
	 */
	public void setPrimaryFields(List list)
	{
		primaryFields = list;
		primaryFieldsLoaded = true;
	}

	/**
	 * @param list
	 */
	public void setRelatedFields(List list)
	{
		relatedFields = list;
		relatedFieldsLoaded = true;
	}

	/**
	 * @param string
	 */
	public void setListId(String string)
	{
		listId = string;
	}

	/**
	 * @param string
	 */
	public void setListName(String string)
	{
		listName = string;
	}

	/**
	 * @return
	 */
	public List getReportCriteria()
	{
		return reportCriteria;
	}

	/**
	 * @return
	 */
	public List getReportFields()
	{
		return reportFields;
	}

	/**
	 * @return
	 */
	public List getReportOrderBy()
	{
		return reportOrderBy;
	}

	/**
	 * @return
	 */
	public String getPrimaryEntityName()
	{
	    if ( queryInfo == null )
	        return null;
		return queryInfo.getPrimaryEntity();
	}

	/**
	 * @param list
	 */
	public void setReportCriteria(List list)
	{
		reportCriteria = list;
	}

	/**
	 * @param list
	 */
	public void setReportFields(List list)
	{
		reportFields = list;
	}

	/**
	 * @param list
	 */
	public void setReportOrderBy(List list)
	{
		reportOrderBy = list;
	}

	protected List getStringListfromGVL( List gvl, String fieldName)
	{
		List sList = new ArrayList();
		
		Iterator iter = gvl.iterator();
		while (iter.hasNext())
		{
			GenericValue gv = (GenericValue) iter.next();
			sList.add(gv.getString(fieldName));	
		}
		return sList;
	}
	
	/**
	 * @return
	 */
	public List getSelectFieldLabels()
	{
		return selectFieldLabels;
	}

	/**
	 * @return
	 */
	public List getSelectFieldNames()
	{
		return selectFieldNames;
	}

	/**
	 * @param list
	 */
	public void setSelectFieldLabels(List list)
	{
		selectFieldLabels = list;
	}

	/**
	 * @param list
	 */
	public void setSelectFieldNames(List list)
	{
		selectFieldNames = list;
	}

    /**
     * @return Returns the listType.
     */
    public String getListType() {
        return listType;
    }
    /**
     * @param listType The listType to set.
     */
    public void setListType(String listType) {
        this.listType = listType;
    }
    /**
     * @return Returns the queryId.
     */
    public String getQueryId() {
        return queryId;
    }
    /**
     * @param queryId The queryId to set.
     */
    public void setQueryId(String queryId) {
        this.queryId = queryId;
    }
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -