Package com.sourcetap.sfa.forecast

Source Code of com.sourcetap.sfa.forecast.ForecastHelper

/*
*
* Copyright (c) 2004 SourceTap - www.sourcetap.com
*
*  The contents of this file are subject to the SourceTap Public License
* ("License"); You may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.sourcetap.com/license.htm
* Software distributed under the License is distributed on an  "AS IS"  basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
*/

package com.sourcetap.sfa.forecast;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.condition.EntityCondition;
import org.ofbiz.entity.condition.EntityConditionList;
import org.ofbiz.entity.condition.EntityExpr;
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.model.DynamicViewEntity;
import org.ofbiz.entity.model.ModelField;
import org.ofbiz.entity.model.ModelKeyMap;

import com.sourcetap.sfa.util.EntityHelper;

/**
*
* @author  Chris Maurer
* @version 1.0
*/
public class ForecastHelper {
  public static final String module = ForecastHelper.class.getName();
 
    /**
     * DOCUMENT ME!
     *
     * @param partyId
     * @param beginDate
     * @param endDate
     * @param delegator
     *
     * @return
     *
     * @throws GenericEntityException
     */
    public static List getForecastForParty(String partyId,
        java.sql.Date beginDate, java.sql.Date endDate,
        GenericDelegator delegator) throws GenericEntityException {
        ArrayList list = new ArrayList();
        List returnList = null;
       
    // select X from Deal d, entity_access ea, team_member tm where ea.entity = "Deal" and ea.partyEntityType = "Team"
    //  and ea.party_id = tm.team_id and tm.party_id = <partyId> and ea.entity_id = d.deal_id
    DynamicViewEntity dve = EntityHelper.createDynamicViewEntity( delegator, "Deal");
    dve.addMemberEntity("EntityAccess", "EntityAccess");
    dve.addMemberEntity("TeamMember", "TeamMember");
    dve.addViewLink("Deal", "EntityAccess", Boolean.FALSE, UtilMisc.toList(new ModelKeyMap("dealId", "entityId")));
    dve.addViewLink("EntityAccess", "TeamMember", Boolean.FALSE, UtilMisc.toList(new ModelKeyMap("partyId", "teamId")));
    dve.addAlias("EntityAccess", "partyEntityType", null, null, null, null, null);
    dve.addAlias("EntityAccess", "entity", null, null, null, null, null);
    dve.addAlias("TeamMember", "tmPartyId", "partyId", null, null, null, null);
    
    EntityCondition condition = new EntityConditionList(UtilMisc.toList(
        new EntityExpr("entity", EntityOperator.EQUALS, "Deal"),
             new EntityExpr("partyEntityType", EntityOperator.EQUALS, "Team"),
        new EntityExpr("tmPartyId", EntityOperator.EQUALS, partyId),
        new EntityExpr("projectedCloseDate", EntityOperator.LESS_THAN_EQUAL_TO, endDate),
        new EntityExpr("projectedCloseDate", EntityOperator.GREATER_THAN_EQUAL_TO, beginDate),
        new EntityExpr("isInForecast", EntityOperator.EQUALS, "1")
        ),
        EntityOperator.AND);
               
    return EntityHelper.findByCondition( delegator, dve, condition, UtilMisc.toList("projectedCloseDate") );
    }

    /**
     * DOCUMENT ME!
     *
     * @param partyId
     * @param beginDate
     * @param endDate
     * @param delegator
     *
     * @return
     *
     * @throws GenericEntityException
     */
    public static String getForecastForPartyXML(String partyId,
        java.sql.Date beginDate, java.sql.Date endDate,
        GenericDelegator delegator) throws GenericEntityException {
        return convertListToXML(getForecastForParty(partyId, beginDate,
                endDate, delegator));
    }

    /**
     * DOCUMENT ME!
     *
     * @param list
     *
     * @return
     *
     * @throws GenericEntityException
     */
    public static String convertListToXML(List list)
        throws GenericEntityException {
        Iterator iter = list.iterator();
        StringBuffer returnString = new StringBuffer();
        returnString.append("<?xml version=\"1.0\"?>\n\r");

        GenericValue value = null;
        String entity = "";
        List fields = null;

        while (iter.hasNext()) {
            value = (GenericValue) iter.next();
            entity = value.getModelEntity().getEntityName();
            returnString.append("<" + entity + ">\n\r");
            fields = value.getModelEntity().getFieldsCopy();

            for (int i = 0; i < fields.size(); i++) {
                ModelField field = (ModelField) fields.get(i);
                returnString.append("< ");
                returnString.append(field.getName());
                returnString.append(" type=");
                returnString.append(field.getType());
                returnString.append(" colName=");
                returnString.append(field.getColName());
                returnString.append(" isPk=");
                returnString.append(field.getIsPk());

                returnString.append(" >");

                returnString.append(String.valueOf(value.get(field.getName())));

                returnString.append("</");
                returnString.append(field.getName());
                returnString.append(">");
            }

            returnString.append("</" + entity + ">\n\r");
        }

        return "";
    }
}
TOP

Related Classes of com.sourcetap.sfa.forecast.ForecastHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.