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

📄 leadqueueeventprocessor.java

📁 国外的一套开源CRM
💻 JAVA
字号:
/*
 * 
 * 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.lead;

import java.sql.Timestamp;
import java.util.Calendar;
import java.util.List;

import org.ofbiz.base.util.Debug;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;

import com.sourcetap.sfa.event.DataMatrix;
import com.sourcetap.sfa.event.GenericEventProcessor;
import com.sourcetap.sfa.replication.GenericReplicator;
import com.sourcetap.sfa.util.UserInfo;


/**
 * DOCUMENT ME!
 *
 */
public class LeadQueueEventProcessor extends GenericEventProcessor {
	public static final String module = LeadQueueEventProcessor.class.getName();

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int preUpdate(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {
        Debug.logVerbose("Start", module);

        // Just process the first row for now.
        GenericValue leadQueueGV = null;
        GenericValue partyGV = null;

        try {
            leadQueueGV = dataMatrix.getCurrentBuffer().getGenericValue(0,
                    "LeadQueue", true);
            partyGV = dataMatrix.getCurrentBuffer().getGenericValue(0, "Party",
                    false);
        } catch (GenericEntityException e) {
            Debug.logError(
                "[LeadQueueEventProcessor.preUpdate] Error getting generic value: " +
                e.toString(),module);

            return STATUS_ERROR;
        }

        // Set the time stamps.
        Timestamp now = new Timestamp(Calendar.getInstance().getTime().getTime());
        leadQueueGV.set("modifiedDate", now);

        // Store the current user ID in the "modified by" field.
        leadQueueGV.set("modifiedBy", userInfo.getPartyId());

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int preInsert(UserInfo userInfo, GenericDelegator delegator,
        DataMatrix dataMatrix) {
        Debug.logVerbose("preinsert start",module);
        
        // Just process the first row for now.
        GenericValue leadQueueGV = null;
        GenericValue partyGV = null;

        try {
            leadQueueGV = dataMatrix.getCurrentBuffer().getGenericValue(0,
                    "LeadQueue", true);
            partyGV = dataMatrix.getCurrentBuffer().getGenericValue(0, "Party",
                    true);
        } catch (GenericEntityException e) {
            Debug.logError(
                "[LeadQueueEventProcessor.preInsert] Error getting generic value: " +
                e.getLocalizedMessage(), module);

            return STATUS_ERROR;
        }

        // Generate new key for the leadQueue.
        String partyId = GenericReplicator.getNextSeqId("Party", delegator);
        leadQueueGV.set("leadQueueId", partyId);
        partyGV.set("partyId", partyId);

        // Set the time stamps.
        Timestamp now = new Timestamp(Calendar.getInstance().getTime().getTime());
        leadQueueGV.set("createdDate", now);
        leadQueueGV.set("modifiedDate", now);

        // Store the current user ID in the "modified by" field.
        leadQueueGV.set("createdBy", userInfo.getPartyId());
        leadQueueGV.set("modifiedBy", userInfo.getPartyId());

        //Set the account ID if it is empty.  This should only be the case if it is an employee created thru quick create
        String accountId = leadQueueGV.getString("accountId");

        if ((accountId == null) || accountId.equals("")) {
            leadQueueGV.set("accountId", userInfo.getAccountId());
        }

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param entityNameList 
     * @param delegator 
     * @param dataMatrix 
     *
     * @return 
     */
    protected int postCreate(UserInfo userInfo, List entityNameList,
        GenericDelegator delegator, DataMatrix dataMatrix) {
        Debug.logVerbose("postCreate", module);

        // Get the empty generic values.
        GenericValue leadQueueGV = null;

        try {
            leadQueueGV = dataMatrix.getCurrentBuffer().getGenericValue(0,
                    "LeadQueue", true);
        } catch (GenericEntityException e) {
            Debug.logError(
                "[ContactEventProcessor.postCreate] Error getting generic value: " +
                e.toString(), module);

            return STATUS_ERROR;
        }

        // Set default values on the new record so they will be displayed for the user to see before saving.
        // Active Flag
        Debug.logVerbose("Setting active flag to true", module);

        leadQueueGV.set("activeFlag", new Boolean(true));

        // Refresh the cache in the delegator so that dropdowns will show the new leadQueue
        delegator.getAndCache().clear();

        return STATUS_CONTINUE;
    }

    /**
     * DOCUMENT ME!
     *
     * @param userInfo 
     * @param delegator 
     * @param originatingEntityName 
     * @param entityGV 
     *
     * @return 
     */
    public int deleteAllRelated(UserInfo userInfo, GenericDelegator delegator,
        String originatingEntityName, GenericValue entityGV) {
        Debug.logVerbose("in deleteAllRelated", module);
 
        int status = STATUS_CONTINUE;

        // Delete related Parties.
        status = deleteOneRelated(userInfo, delegator, entityGV, "", "Party",
                originatingEntityName, new GenericEventProcessor());

        if (status != STATUS_CONTINUE) {
            return status;
        }

        return STATUS_CONTINUE;
    }

    /*        public SecurityLinkInfo getSecurityLinkInfo(UserInfo userInfo, GenericDelegator delegator)
            {
                    return new SecurityLinkInfo( "Account", "accountId", false );
            }
    */
}

⌨️ 快捷键说明

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