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

📄 ticketnotificationupdate.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
字号:
/*
 * Copyright 2006-2007 Queplix Corp.
 *
 * Licensed under the Queplix Public License, Version 1.1.1 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.queplix.com/solutions/commercial-open-source/queplix-public-license/
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package com.queplix.qwoss.update;

import java.util.List;

import com.queplix.core.modules.eql.error.EQLException;
import com.queplix.core.modules.eql.update.EntityUpdate;
import com.queplix.core.modules.jeo.JEObjectHandler;
import com.queplix.core.modules.jeo.ejb.JEOManagerLocal;
import com.queplix.core.modules.jeo.ejb.JEOManagerLocalHome;
import com.queplix.core.utils.JNDINames;
import com.queplix.qwoss.gen.TicketNotificationObject;
import com.queplix.qwoss.gen.TicketNotificationObjectHandler;
import com.queplix.qwoss.gen.NotifRecipientFieldObject;
import com.queplix.qwoss.gen.NotifRecipientFieldObjectHandler;
import com.queplix.qwoss.utils.TicketNotificationHelper;

/**
 * Description.
 * 
 * @author rustem.nizamiev
 */

public class TicketNotificationUpdate extends EntityUpdate {

    /*
     * (non-Javadoc)
     * 
     * @see EntityUpdate#beforeUpdate()
     */
    public int beforeUpdate() throws EQLException {

        // Initialization.
        JEOManagerLocal jeoManager = (JEOManagerLocal) getCOM().getLocalObject(
                JNDINames.JEOManager, JEOManagerLocalHome.class);
        // Get current record.
        JEObjectHandler hnd = getJEOHandler(jeoManager, TicketNotificationObjectHandler.class);
        TicketNotificationObject obj = (TicketNotificationObject) hnd.getJEObject();

        // Check recipient
        List notifRecipientHandlers = obj.dsQw_recipient(NotifRecipientFieldObjectHandler.class);
        // for all recipients do --
        if (notifRecipientHandlers != null) {
            for (int j = 0; j < notifRecipientHandlers.size(); j++) {
                NotifRecipientFieldObjectHandler notifRecipientFieldObjectHandler = 
                    (NotifRecipientFieldObjectHandler) notifRecipientHandlers.get(j);
                NotifRecipientFieldObject notifRecipientFieldObject = 
                    (NotifRecipientFieldObject) notifRecipientFieldObjectHandler.getJEObject();
                Integer method = obj.getQw_sendmode();
                Integer recipinet = notifRecipientFieldObject.getQw_recipient();
                if (recipinet == null) 
                    throw new EQLException("Recipient is needed.");
                switch (recipinet.intValue()) {
                    case TicketNotificationHelper.AGENT_RECIPIENT:
                    case TicketNotificationHelper.OWNER_RECIPIENT:
                        if (method == null) {
                            throw new EQLException("Please supply a notification method in 'Then Send' field");
                        }
                        break;
                    case TicketNotificationHelper.CUSTOMER_RECIPIENT:
                        if (method == null
                                || method.intValue() != TicketNotificationHelper.EMAIL_METHOD) {
                            throw new EQLException("Only 'Email' is available for the Customer as value for 'Then Send'");
                        }
                        break;
/*                    case TicketNotificationHelper.WORKGROUP_RECIPIENT:
                        if (method != null) {
                            throw new EQLException("Note: 'Then Send' value ignored. Workgroup notify method will be used");
                        }
                        break;
 */
                    case TicketNotificationHelper.EMAIL_TO_RECIPIENT:
                        if (method == null
                                || method.intValue() != TicketNotificationHelper.EMAIL_METHOD) {
                            throw new EQLException("Only 'Email' is available for this recepient mode as value for 'Then Send'");
                        }
                        if (obj.getQw_email() == null || obj.getQw_email().trim().length() < 1) {
                            throw new EQLException("Please specify email address");
                        }
                        break;
                }
            }
        }
        return CONTINUE;
    }
}

⌨️ 快捷键说明

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